supplier V2.0.0版本发布
This commit is contained in:
1 parent
2b5d2c11ee
commit
d95d3b792a
1011 files changed
+28851
-16423
No files matched your search
@@ -10,6 +10,15 @@ target/
|
||||
|
||||
######################################################################
|
||||
# IDE
|
||||
*.classpath
|
||||
*.project
|
||||
*.iml
|
||||
*.factorypath
|
||||
target
|
||||
.idea/
|
||||
*.log
|
||||
logs
|
||||
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
|
||||
@@ -1,7 +1,22 @@
|
||||
|
||||
|
||||
|
||||
### supplier2.0已经发布:
|
||||
1、移除Light Security jwt 验证更改为shaun pac4j-jwt
|
||||
|
||||
2、mapstruct更新1.3.1 同时修复不能编译成对象的问题
|
||||
|
||||
3、新的目录结构
|
||||
|
||||
4、同步ruoyi最新版本V4.6.1
|
||||
|
||||
5、喜欢的小伙伴记得star下
|
||||
|
||||
6、本项目全开源 请自行下载的哦
|
||||
|
||||
### supplier2.1即将发布:
|
||||
- 新的重构版本正在开发中,喜欢的小伙伴记得star下
|
||||
- 新版本移动端将使用uniapp
|
||||
- 后端架构升级优化
|
||||
|
||||
|
||||
### **商城概况:**
|
||||
@@ -11,17 +26,17 @@
|
||||
|
||||
**系统基础组合来源:**
|
||||
|
||||
程序员就要坚持着不要重复造轮子想法,所有就在码云里找自己合适的轮子::
|
||||
程序员就要坚持着不要重复造轮子想法,所有就在gitee里找自己合适的轮子::
|
||||
|
||||
1、若依管理后台:用它做后台管理
|
||||
|
||||
2、Light Security:用它主要来对接小程序API
|
||||
2、shaun pac4j-jwt:强大jwt权限框架
|
||||
|
||||
当然他们本身已经完成了很多功能,这里不多说,大家可以直接去码云搜索即可,后面会放上他们连接。
|
||||
|
||||
本系统主要包括三部分:
|
||||
|
||||
第一:商城后台,完成完整的商城管理系统,目前基本已经完成,至于有bug大家可以直接issue或者进群交流(后面会打出来的(⊙o⊙)?!!),
|
||||
第一:商城后台,完成完整的商城管理系统,目前已经完成,至于有bug大家可以直接issue或者进群交流(后面会打出来的(⊙o⊙)?!!),
|
||||
功能大概包括:商品管理,商品多规格属性管理,商品分类,商品品牌,商品订单,会员信息等等。
|
||||
涉及到技术: **springboot+Thymeleaf+mybatis**
|
||||
|
||||
@@ -69,7 +84,8 @@
|
||||
mpvue 小程序运行步骤:
|
||||
|
||||
1、安装node环境
|
||||
node 是8版本
|
||||
node 是8版本,这边开发版本是8.12.0,由于mpvue属于老牌小程序框架了,目前这边验证的只是这个node版本,
|
||||
当然新的小程序UNIAPP发布之后没用此限制拉
|
||||
|
||||
2、设置npm淘宝镜像
|
||||
|
||||
@@ -112,6 +128,6 @@ npm set registry https://registry.npm.taobao.org/
|
||||
|
||||
若依系统:[ruoyi](https://gitee.com/y_project/RuoYi)
|
||||
|
||||
简单jwt权限:[Light Security](https://gitee.com/itmuch/light-security)
|
||||
强大jwt权限框架:[shaun](https://gitee.com/baomidou/shaun)
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,35 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>4.1.0</version>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier</artifactId>
|
||||
<version>2.0.0</version>
|
||||
|
||||
<name>ruoyi</name>
|
||||
<url>http://www.ruoyi.vip</url>
|
||||
<name>supplier</name>
|
||||
<url>https://www.yixiang.co</url>
|
||||
<description>供货管理系统</description>
|
||||
|
||||
<properties>
|
||||
<ruoyi.version>4.1.0</ruoyi.version>
|
||||
<supplier.version>2.0.0</supplier.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<shiro.version>1.4.2</shiro.version>
|
||||
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
|
||||
<shiro.version>1.7.1</shiro.version>
|
||||
<thymeleaf.extras.shiro.version>2.0.0</thymeleaf.extras.shiro.version>
|
||||
<mybatis.boot.version>1.3.2</mybatis.boot.version>
|
||||
<druid.version>1.1.14</druid.version>
|
||||
<bitwalker.version>1.19</bitwalker.version>
|
||||
<druid.version>1.2.6</druid.version>
|
||||
<bitwalker.version>1.21</bitwalker.version>
|
||||
<kaptcha.version>2.3.2</kaptcha.version>
|
||||
<swagger.version>2.9.2</swagger.version>
|
||||
<pagehelper.boot.version>1.2.5</pagehelper.boot.version>
|
||||
<fastjson.version>1.2.60</fastjson.version>
|
||||
<oshi.version>3.9.1</oshi.version>
|
||||
<mybatis-spring-boot.version>2.1.4</mybatis-spring-boot.version>
|
||||
<pagehelper.boot.version>1.3.0</pagehelper.boot.version>
|
||||
<fastjson.version>1.2.76</fastjson.version>
|
||||
<oshi.version>5.6.0</oshi.version>
|
||||
<jna.version>5.7.0</jna.version>
|
||||
<commons.io.version>2.5</commons.io.version>
|
||||
<commons.fileupload.version>1.3.3</commons.fileupload.version>
|
||||
<poi.version>3.17</poi.version>
|
||||
<poi.version>4.1.2</poi.version>
|
||||
<velocity.version>1.7</velocity.version>
|
||||
</properties>
|
||||
|
||||
@@ -41,7 +42,7 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>2.1.1.RELEASE</version>
|
||||
<version>2.2.13.RELEASE</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
@@ -67,7 +68,7 @@
|
||||
<version>${shiro.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Shiro使用Srping框架 -->
|
||||
<!-- Shiro使用Spring框架 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-spring</artifactId>
|
||||
@@ -95,6 +96,13 @@
|
||||
<version>${bitwalker.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- SpringBoot集成mybatis框架 -->
|
||||
<dependency>
|
||||
<groupId>org.mybatis.spring.boot</groupId>
|
||||
<artifactId>mybatis-spring-boot-starter</artifactId>
|
||||
<version>${mybatis-spring-boot.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- pagehelper 分页插件 -->
|
||||
<dependency>
|
||||
<groupId>com.github.pagehelper</groupId>
|
||||
@@ -109,6 +117,18 @@
|
||||
<version>${oshi.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.java.dev.jna</groupId>
|
||||
<artifactId>jna</artifactId>
|
||||
<version>${jna.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.java.dev.jna</groupId>
|
||||
<artifactId>jna-platform</artifactId>
|
||||
<version>${jna.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- swagger2-->
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
@@ -147,13 +167,6 @@
|
||||
<version>${commons.fileupload.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- HTML解析器 -->
|
||||
<dependency>
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>${jsoup.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- excel工具 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
@@ -166,6 +179,12 @@
|
||||
<groupId>org.apache.velocity</groupId>
|
||||
<artifactId>velocity</artifactId>
|
||||
<version>${velocity.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>commons-collections</groupId>
|
||||
<artifactId>commons-collections</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- 阿里JSON解析器 -->
|
||||
@@ -177,58 +196,56 @@
|
||||
|
||||
<!-- 定时任务-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-quartz</artifactId>
|
||||
<version>${ruoyi.version}</version>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier-quartz</artifactId>
|
||||
<version>${supplier.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 代码生成-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-generator</artifactId>
|
||||
<version>${ruoyi.version}</version>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier-generator</artifactId>
|
||||
<version>${supplier.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 核心模块-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-framework</artifactId>
|
||||
<version>${ruoyi.version}</version>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier-framework</artifactId>
|
||||
<version>${supplier.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 系统模块-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-system</artifactId>
|
||||
<version>${ruoyi.version}</version>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier-system</artifactId>
|
||||
<version>${supplier.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 通用工具-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>${ruoyi.version}</version>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier-common</artifactId>
|
||||
<version>${supplier.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<modules>
|
||||
<module>ruoyi-admin</module>
|
||||
<module>ruoyi-framework</module>
|
||||
<module>ruoyi-system</module>
|
||||
<module>ruoyi-quartz</module>
|
||||
<module>ruoyi-generator</module>
|
||||
<module>ruoyi-common</module>
|
||||
<module>ruoyi-api</module>
|
||||
<module>supplier-admin</module>
|
||||
<module>supplier-framework</module>
|
||||
<module>supplier-system</module>
|
||||
<module>supplier-quartz</module>
|
||||
<module>supplier-generator</module>
|
||||
<module>supplier-common</module>
|
||||
<module>supplier-api</module>
|
||||
</modules>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
|
||||
<dependencies>
|
||||
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
@@ -236,6 +253,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.1</version>
|
||||
<configuration>
|
||||
<source>${java.version}</source>
|
||||
<target>${java.version}</target>
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<version>4.1.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>jar</packaging>
|
||||
<artifactId>ruoyi-admin</artifactId>
|
||||
|
||||
<description>
|
||||
web服务入口
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- SpringBoot集成thymeleaf模板 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- spring-boot-devtools -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<optional>true</optional> <!-- 表示依赖不会传递 -->
|
||||
</dependency>
|
||||
|
||||
<!-- swagger2-->
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger2</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--防止进入swagger页面报类型转换错误,排除2.9.2中的引用,手动增加1.5.21版本-->
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
<version>1.5.21</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
<version>1.5.21</version>
|
||||
</dependency>
|
||||
|
||||
<!-- swagger2-UI-->
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger-ui</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 核心模块-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-framework</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 定时任务-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-quartz</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 代码生成-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-generator</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>3.0.0</version>
|
||||
<configuration>
|
||||
<failOnMissingWebXml>false</failOnMissingWebXml>
|
||||
<warName>${artifactId}</warName>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<finalName>${artifactId}</finalName>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@@ -1,30 +0,0 @@
|
||||
package com.ruoyi;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
|
||||
/**
|
||||
* 启动程序
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
|
||||
public class RuoYiApplication
|
||||
{
|
||||
public static void main(String[] args)
|
||||
{
|
||||
// System.setProperty("spring.devtools.restart.enabled", "false");
|
||||
SpringApplication.run(RuoYiApplication.class, args);
|
||||
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
|
||||
" .-------. ____ __ \n" +
|
||||
" | _ _ \\ \\ \\ / / \n" +
|
||||
" | ( ' ) | \\ _. / ' \n" +
|
||||
" |(_ o _) / _( )_ .' \n" +
|
||||
" | (_,_).' __ ___(_ o _)' \n" +
|
||||
" | |\\ \\ | || |(_,_)' \n" +
|
||||
" | | \\ `' /| `-' / \n" +
|
||||
" | | \\ / \\ / \n" +
|
||||
" ''-' `'-' `-..-' ");
|
||||
}
|
||||
}
|
||||
-270
@@ -1,270 +0,0 @@
|
||||
package com.ruoyi.web.controller.demo.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
|
||||
/**
|
||||
* 表单相关
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/demo/form")
|
||||
public class DemoFormController
|
||||
{
|
||||
private String prefix = "demo/form";
|
||||
|
||||
private final static List<UserFormModel> users = new ArrayList<UserFormModel>();
|
||||
{
|
||||
users.add(new UserFormModel(1, "1000001", "测试1", "15888888888"));
|
||||
users.add(new UserFormModel(2, "1000002", "测试2", "15666666666"));
|
||||
users.add(new UserFormModel(3, "1000003", "测试3", "15666666666"));
|
||||
users.add(new UserFormModel(4, "1000004", "测试4", "15666666666"));
|
||||
users.add(new UserFormModel(5, "1000005", "测试5", "15666666666"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 按钮页
|
||||
*/
|
||||
@GetMapping("/button")
|
||||
public String button()
|
||||
{
|
||||
return prefix + "/button";
|
||||
}
|
||||
|
||||
/**
|
||||
* 下拉框
|
||||
*/
|
||||
@GetMapping("/select")
|
||||
public String select()
|
||||
{
|
||||
return prefix + "/select";
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间轴
|
||||
*/
|
||||
@GetMapping("/timeline")
|
||||
public String timeline()
|
||||
{
|
||||
return prefix + "/timeline";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表单校验
|
||||
*/
|
||||
@GetMapping("/validate")
|
||||
public String validate()
|
||||
{
|
||||
return prefix + "/validate";
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能扩展(包含文件上传)
|
||||
*/
|
||||
@GetMapping("/jasny")
|
||||
public String jasny()
|
||||
{
|
||||
return prefix + "/jasny";
|
||||
}
|
||||
|
||||
/**
|
||||
* 拖动排序
|
||||
*/
|
||||
@GetMapping("/sortable")
|
||||
public String sortable()
|
||||
{
|
||||
return prefix + "/sortable";
|
||||
}
|
||||
|
||||
/**
|
||||
* 选项卡 & 面板
|
||||
*/
|
||||
@GetMapping("/tabs_panels")
|
||||
public String tabs_panels()
|
||||
{
|
||||
return prefix + "/tabs_panels";
|
||||
}
|
||||
|
||||
/**
|
||||
* 栅格
|
||||
*/
|
||||
@GetMapping("/grid")
|
||||
public String grid()
|
||||
{
|
||||
return prefix + "/grid";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表单向导
|
||||
*/
|
||||
@GetMapping("/wizard")
|
||||
public String wizard()
|
||||
{
|
||||
return prefix + "/wizard";
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件上传
|
||||
*/
|
||||
@GetMapping("/upload")
|
||||
public String upload()
|
||||
{
|
||||
return prefix + "/upload";
|
||||
}
|
||||
|
||||
/**
|
||||
* 日期和时间页
|
||||
*/
|
||||
@GetMapping("/datetime")
|
||||
public String datetime()
|
||||
{
|
||||
return prefix + "/datetime";
|
||||
}
|
||||
|
||||
/**
|
||||
* 左右互选组件
|
||||
*/
|
||||
@GetMapping("/duallistbox")
|
||||
public String duallistbox()
|
||||
{
|
||||
return prefix + "/duallistbox";
|
||||
}
|
||||
|
||||
/**
|
||||
* 基本表单
|
||||
*/
|
||||
@GetMapping("/basic")
|
||||
public String basic()
|
||||
{
|
||||
return prefix + "/basic";
|
||||
}
|
||||
|
||||
/**
|
||||
* 卡片列表
|
||||
*/
|
||||
@GetMapping("/cards")
|
||||
public String cards()
|
||||
{
|
||||
return prefix + "/cards";
|
||||
}
|
||||
|
||||
/**
|
||||
* summernote 富文本编辑器
|
||||
*/
|
||||
@GetMapping("/summernote")
|
||||
public String summernote()
|
||||
{
|
||||
return prefix + "/summernote";
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索自动补全
|
||||
*/
|
||||
@GetMapping("/autocomplete")
|
||||
public String autocomplete()
|
||||
{
|
||||
return prefix + "/autocomplete";
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户数据
|
||||
*/
|
||||
@GetMapping("/userModel")
|
||||
@ResponseBody
|
||||
public AjaxResult userModel()
|
||||
{
|
||||
AjaxResult ajax = new AjaxResult();
|
||||
|
||||
ajax.put("code", 200);
|
||||
ajax.put("value", users);
|
||||
return ajax;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据集合
|
||||
*/
|
||||
@GetMapping("/collection")
|
||||
@ResponseBody
|
||||
public AjaxResult collection()
|
||||
{
|
||||
String[] array = { "ruoyi 1", "ruoyi 2", "ruoyi 3", "ruoyi 4", "ruoyi 5" };
|
||||
AjaxResult ajax = new AjaxResult();
|
||||
ajax.put("value", array);
|
||||
return ajax;
|
||||
}
|
||||
}
|
||||
|
||||
class UserFormModel
|
||||
{
|
||||
/** 用户ID */
|
||||
private int userId;
|
||||
|
||||
/** 用户编号 */
|
||||
private String userCode;
|
||||
|
||||
/** 用户姓名 */
|
||||
private String userName;
|
||||
|
||||
/** 用户手机 */
|
||||
private String userPhone;
|
||||
|
||||
public UserFormModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public UserFormModel(int userId, String userCode, String userName, String userPhone)
|
||||
{
|
||||
this.userId = userId;
|
||||
this.userCode = userCode;
|
||||
this.userName = userName;
|
||||
this.userPhone = userPhone;
|
||||
}
|
||||
|
||||
public int getUserId()
|
||||
{
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(int userId)
|
||||
{
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getUserCode()
|
||||
{
|
||||
return userCode;
|
||||
}
|
||||
|
||||
public void setUserCode(String userCode)
|
||||
{
|
||||
this.userCode = userCode;
|
||||
}
|
||||
|
||||
public String getUserName()
|
||||
{
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(String userName)
|
||||
{
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getUserPhone()
|
||||
{
|
||||
return userPhone;
|
||||
}
|
||||
|
||||
public void setUserPhone(String userPhone)
|
||||
{
|
||||
this.userPhone = userPhone;
|
||||
}
|
||||
|
||||
}
|
||||
-114
@@ -1,114 +0,0 @@
|
||||
package com.ruoyi.web.controller.monitor;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.enums.OnlineStatus;
|
||||
import com.ruoyi.framework.shiro.session.OnlineSession;
|
||||
import com.ruoyi.framework.shiro.session.OnlineSessionDAO;
|
||||
import com.ruoyi.framework.util.ShiroUtils;
|
||||
import com.ruoyi.system.domain.SysUserOnline;
|
||||
import com.ruoyi.system.service.ISysUserOnlineService;
|
||||
|
||||
/**
|
||||
* 在线用户监控
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/monitor/online")
|
||||
public class SysUserOnlineController extends BaseController
|
||||
{
|
||||
private String prefix = "monitor/online";
|
||||
|
||||
@Autowired
|
||||
private ISysUserOnlineService userOnlineService;
|
||||
|
||||
@Autowired
|
||||
private OnlineSessionDAO onlineSessionDAO;
|
||||
|
||||
@RequiresPermissions("monitor:online:view")
|
||||
@GetMapping()
|
||||
public String online()
|
||||
{
|
||||
return prefix + "/online";
|
||||
}
|
||||
|
||||
@RequiresPermissions("monitor:online:list")
|
||||
@PostMapping("/list")
|
||||
@ResponseBody
|
||||
public TableDataInfo list(SysUserOnline userOnline)
|
||||
{
|
||||
startPage();
|
||||
List<SysUserOnline> list = userOnlineService.selectUserOnlineList(userOnline);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@RequiresPermissions("monitor:online:batchForceLogout")
|
||||
@Log(title = "在线用户", businessType = BusinessType.FORCE)
|
||||
@PostMapping("/batchForceLogout")
|
||||
@ResponseBody
|
||||
public AjaxResult batchForceLogout(@RequestParam("ids[]") String[] ids)
|
||||
{
|
||||
for (String sessionId : ids)
|
||||
{
|
||||
SysUserOnline online = userOnlineService.selectOnlineById(sessionId);
|
||||
if (online == null)
|
||||
{
|
||||
return error("用户已下线");
|
||||
}
|
||||
OnlineSession onlineSession = (OnlineSession) onlineSessionDAO.readSession(online.getSessionId());
|
||||
if (onlineSession == null)
|
||||
{
|
||||
return error("用户已下线");
|
||||
}
|
||||
if (sessionId.equals(ShiroUtils.getSessionId()))
|
||||
{
|
||||
return error("当前登陆用户无法强退");
|
||||
}
|
||||
onlineSession.setStatus(OnlineStatus.off_line);
|
||||
onlineSessionDAO.update(onlineSession);
|
||||
online.setStatus(OnlineStatus.off_line);
|
||||
userOnlineService.saveOnline(online);
|
||||
}
|
||||
return success();
|
||||
}
|
||||
|
||||
@RequiresPermissions("monitor:online:forceLogout")
|
||||
@Log(title = "在线用户", businessType = BusinessType.FORCE)
|
||||
@PostMapping("/forceLogout")
|
||||
@ResponseBody
|
||||
public AjaxResult forceLogout(String sessionId)
|
||||
{
|
||||
SysUserOnline online = userOnlineService.selectOnlineById(sessionId);
|
||||
if (sessionId.equals(ShiroUtils.getSessionId()))
|
||||
{
|
||||
return error("当前登陆用户无法强退");
|
||||
}
|
||||
if (online == null)
|
||||
{
|
||||
return error("用户已下线");
|
||||
}
|
||||
OnlineSession onlineSession = (OnlineSession) onlineSessionDAO.readSession(online.getSessionId());
|
||||
if (onlineSession == null)
|
||||
{
|
||||
return error("用户已下线");
|
||||
}
|
||||
onlineSession.setStatus(OnlineStatus.off_line);
|
||||
onlineSessionDAO.update(onlineSession);
|
||||
online.setStatus(OnlineStatus.off_line);
|
||||
userOnlineService.saveOnline(online);
|
||||
return success();
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import com.ruoyi.common.config.Global;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.framework.util.ShiroUtils;
|
||||
import com.ruoyi.system.domain.SysMenu;
|
||||
import com.ruoyi.system.domain.SysUser;
|
||||
import com.ruoyi.system.service.ISysMenuService;
|
||||
|
||||
/**
|
||||
* 首页 业务处理
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Controller
|
||||
public class SysIndexController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private ISysMenuService menuService;
|
||||
|
||||
// 系统首页
|
||||
@GetMapping("/index")
|
||||
public String index(ModelMap mmap)
|
||||
{
|
||||
// 取身份信息
|
||||
SysUser user = ShiroUtils.getSysUser();
|
||||
// 根据用户id取出菜单
|
||||
List<SysMenu> menus = menuService.selectMenusByUser(user);
|
||||
mmap.put("menus", menus);
|
||||
mmap.put("user", user);
|
||||
mmap.put("copyrightYear", Global.getCopyrightYear());
|
||||
mmap.put("demoEnabled", Global.isDemoEnabled());
|
||||
return "index";
|
||||
}
|
||||
|
||||
// 切换主题
|
||||
@GetMapping("/system/switchSkin")
|
||||
public String switchSkin(ModelMap mmap)
|
||||
{
|
||||
return "skin";
|
||||
}
|
||||
|
||||
// 系统介绍
|
||||
@GetMapping("/system/main")
|
||||
public String main(ModelMap mmap)
|
||||
{
|
||||
mmap.put("version", Global.getVersion());
|
||||
return "main";
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE configuration
|
||||
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
<configuration>
|
||||
|
||||
<settings>
|
||||
<setting name="cacheEnabled" value="true" /> <!-- 全局映射器启用缓存 -->
|
||||
<setting name="useGeneratedKeys" value="true" /> <!-- 允许 JDBC 支持自动生成主键 -->
|
||||
<setting name="defaultExecutorType" value="REUSE" /> <!-- 配置默认的执行器 -->
|
||||
<setting name="logImpl" value="SLF4J" /> <!-- 指定 MyBatis 所用日志的具体实现 -->
|
||||
<!-- <setting name="mapUnderscoreToCamelCase" value="true"/> 驼峰式命名 -->
|
||||
</settings>
|
||||
|
||||
</configuration>
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
/*!
|
||||
* bootstrap-fileinput v5.0.4
|
||||
* http://plugins.krajee.com/file-input
|
||||
*
|
||||
* Krajee default styling for bootstrap-fileinput.
|
||||
*
|
||||
* Author: Kartik Visweswaran
|
||||
* Copyright: 2014 - 2019, Kartik Visweswaran, Krajee.com
|
||||
*
|
||||
* Licensed under the BSD-3-Clause
|
||||
* https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md
|
||||
*/.btn-file input[type=file],.file-caption-icon,.file-no-browse,.file-preview .fileinput-remove,.file-zoom-dialog .btn-navigate,.file-zoom-dialog .floating-buttons,.krajee-default .file-thumb-progress{position:absolute}.file-loading input[type=file],input[type=file].file-loading{width:0;height:0}.file-no-browse{left:50%;bottom:20%;width:1px;height:1px;font-size:0;opacity:0;border:none;background:0 0;outline:0;box-shadow:none}.file-caption-icon,.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-ajax-new .no-browse .input-group-btn,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file,.file-input-new .no-browse .input-group-btn,.file-zoom-dialog .modal-header:after,.file-zoom-dialog .modal-header:before,.hide-content .kv-file-content,.is-locked .fileinput-remove-button,.is-locked .fileinput-upload-button,.kv-hidden{display:none}.file-caption-icon .kv-caption-icon{line-height:inherit}.btn-file,.file-caption,.file-input,.file-loading:before,.file-preview,.file-zoom-dialog .modal-dialog,.krajee-default .file-thumbnail-footer,.krajee-default.file-preview-frame{position:relative}.file-error-message pre,.file-error-message ul,.krajee-default .file-actions,.krajee-default .file-other-error{text-align:left}.file-error-message pre,.file-error-message ul{margin:0}.krajee-default .file-drag-handle,.krajee-default .file-upload-indicator{float:left;margin-top:10px;width:16px;height:16px}.krajee-default .file-thumb-progress .progress,.krajee-default .file-thumb-progress .progress-bar{height:20px;font-family:Verdana,Helvetica,sans-serif;font-size:9px}.krajee-default .file-thumb-progress .progress,.kv-upload-progress .progress{background-color:#ccc}.krajee-default .file-caption-info,.krajee-default .file-size-info{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:160px;height:15px;margin:auto}.file-zoom-content>.file-object.type-flash,.file-zoom-content>.file-object.type-image,.file-zoom-content>.file-object.type-video{max-width:100%;max-height:100%;width:auto}.file-zoom-content>.file-object.type-flash,.file-zoom-content>.file-object.type-video{height:100%}.file-zoom-content>.file-object.type-default,.file-zoom-content>.file-object.type-html,.file-zoom-content>.file-object.type-pdf,.file-zoom-content>.file-object.type-text{width:100%}.file-loading:before{content:" Loading...";display:inline-block;padding-left:20px;line-height:16px;font-size:13px;font-variant:small-caps;color:#999;background:url(loading.gif) top left no-repeat}.file-object{margin:0 0 -5px;padding:0}.btn-file{overflow:hidden}.btn-file input[type=file]{top:0;left:0;min-width:100%;min-height:100%;text-align:right;opacity:0;background:none;cursor:inherit;display:block}.btn-file ::-ms-browse{font-size:10000px;width:100%;height:100%}.file-caption .file-caption-name{width:100%;margin:0;padding:0;box-shadow:none;border:none;background:0 0;outline:0}.file-caption.icon-visible .file-caption-icon{display:inline-block}.file-caption.icon-visible .file-caption-name{padding-left:15px}.file-caption-icon{left:8px}.file-error-message{color:#a94442;background-color:#f2dede;margin:5px;border:1px solid #ebccd1;border-radius:4px;padding:15px}.file-error-message pre{margin:5px 0}.file-caption-disabled{background-color:#eee;cursor:not-allowed;opacity:1}.file-preview{border-radius:5px;border:1px solid #ddd;padding:8px;width:100%;margin-bottom:5px}.file-preview .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.file-preview .fileinput-remove{top:1px;right:1px;line-height:10px}.file-preview .clickable{cursor:pointer}.file-preview-image{font:40px Impact,Charcoal,sans-serif;color:green}.krajee-default.file-preview-frame{margin:8px;border:1px solid rgba(0,0,0,.2);box-shadow:0 0 10px 0 rgba(0,0,0,.2);padding:6px;float:left;text-align:center}.krajee-default.file-preview-frame .kv-file-content{width:213px;height:160px}.krajee-default .file-preview-other-frame{display:flex;align-items:center;justify-content:center}.krajee-default.file-preview-frame .kv-file-content.kv-pdf-rendered{width:400px}.krajee-default.file-preview-frame[data-template=audio] .kv-file-content{width:240px;height:55px}.krajee-default.file-preview-frame .file-thumbnail-footer{height:70px}.krajee-default.file-preview-frame:not(.file-preview-error):hover{border:1px solid rgba(0,0,0,.3);box-shadow:0 0 10px 0 rgba(0,0,0,.4)}.krajee-default .file-preview-text{display:block;color:#428bca;border:1px solid #ddd;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;outline:0;padding:8px;resize:none}.krajee-default .file-preview-html{border:1px solid #ddd;padding:8px;overflow:auto}.krajee-default .file-other-icon{font-size:6em;line-height:1}.krajee-default .file-footer-buttons{float:right}.krajee-default .file-footer-caption{display:block;text-align:center;padding-top:4px;font-size:11px;color:#777;margin-bottom:30pLine truncated
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
/*!
|
||||
bootstrap-fileinput v5.0.4
|
||||
http://plugins.krajee.com/file-input
|
||||
|
||||
Author: Kartik Visweswaran
|
||||
Copyright: 2014 - 2019, Kartik Visweswaran, Krajee.com
|
||||
|
||||
Licensed under the BSD-3-Clause
|
||||
https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md
|
||||
*/(function(factory){'use strict';if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else{if(typeof module==='object'&&module.exports){module.exports=factory(require('jquery'));}else{factory(window.jQuery);}}}(function($){'use strict';$.fn.fileinputLocales={};$.fn.fileinputThemes={};String.prototype.setTokens=function(replacePairs){var str=this.toString(),key,re;for(key in replacePairs){if(replacePairs.hasOwnProperty(key)){re=new RegExp('\{'+key+'\}','g');str=str.replace(re,replacePairs[key]);}}return str;};var $h,FileInput;$h={FRAMES:'.kv-preview-thumb',SORT_CSS:'file-sortable',OBJECT_PARAMS:'<param name="controller" value="true" />\n'+'<param name="allowFullScreen" value="true" />\n'+'<param name="allowScriptAccess" value="always" />\n'+'<param name="autoPlay" value="false" />\n'+'<param name="autoStart" value="false" />\n'+'<param name="quality" value="high" />\n',DEFAULT_PREVIEW:'<div class="file-preview-other">\n'+'<span class="{previewFileIconClass}">{previewFileIcon}</span>\n'+'</div>',MODAL_ID:'kvFileinputModal',MODAL_EVENTS:['show','shown','hide','hidden','loaded'],logMessages:{ajaxError:'{status}: {error}. Error Details: {text}.',badDroppedFiles:'Error scanning dropped files!',badExifParser:'Error loading the piexif.js library. {details}',badInputType:'The input "type" must be set to "file" for initializing the "bootstrap-fileinput" plugin.',exifWarning:'To avoid this warning, either set "autoOrientImage" to "false" OR ensure you have loaded '+'the "piexif.js" library correctly on your page before the "fileinput.js" script.',invalidChunkSize:'Invalid upload chunk size: "{chunkSize}". Resumable uploads are disabled.',invalidThumb:'Invalid thumb frame with id: "{id}".',noResumableSupport:'The browser does not support resumable or chunk uploads.',noUploadUrl:'The "uploadUrl" is not set. Ajax uploads and resumable uploads have been disabled.',retryStatus:'Retrying upload for chunk # {chunk} for {filename}... retry # {retry}.'},objUrl:window.URL||window.webkitURL,now:function(){return new Date();},round:function(num){num=parseFloat(num);return isNaN(num)?0:Math.floor(Math.round(num));},getFileRelativePath:function(file){return String(file.relativePath||file.webkitRelativePath||$h.getFileName(file)||null);},getFileId:function(file,generateFileId){var relativePath=$h.getFileRelativePath(file);if(typeof generateFileId==='function'){return generateFileId(file);}if(!file){return null;}if(!relativePath){return null;}return(file.size+'_'+relativePath.replace(/\s/img,'_'));},getElapsed:function(seconds){var delta=seconds,out='',result={},structure={year:31536000,month:2592000,week:604800,day:86400,hour:3600,minute:60,second:1};Object.keys(structure).forEach(function(key){result[key]=Math.floor(delta/structure[key]);delta-=result[key]*structure[key];});$.each(result,function(key,value){if(value>0){out+=(out?' ':'')+value+key.substring(0,1);}});return out;},debounce:function(func,delay){var inDebounce;return function(){var args=arguments,context=this;clearTimeout(inDebounce);inDebounce=setTimeout(function(){func.apply(context,args);},delay);};},stopEvent:function(e){e.stopPropagation();e.preventDefault();},getFileName:function(file){return file?(file.fileName||file.name||''):'';},createObjectURL:function(data){if($h.objUrl&&$h.objUrl.createObjectURL&&data){return $h.objUrl.createObjectURL(data);}return'';},revokeObjectURL:function(data){if($h.objUrl&&$h.objUrl.revokeObjectURL&&data){$h.objUrl.revokeObjectURL(data);}},compare:function(input,str,exact){return input!==undefined&&(exact?input===str:input.match(str));},isIE:function(ver){var div,status;if(navigator.appName!=='Microsoft Internet Explorer'){return false;}if(ver===10){return new RegExp('msie\\s'+ver,'i').test(navigator.userAgent);}div=document.createElement('div');div.innerHTML='<!--[if IE '+ver+']> <i></i> <![endif]-->';status=div.getElementsByTagName('i').length;document.body.appendChild(div);div.parentNode.removeChild(div);return status;},canAssignFilesToInput:function(){var input=document.createElement('input');try{input.type='file';input.files=null;return true;}catch(err){return false;}},getDragDropFolders:function(items){var i,item,len=items?items.length:0,folders=0;if(len>0&&items[0].webkitGetAsEntry()){for(i=0;i<len;i++){item=items[i].webkitGetAsEntry();if(item&&item.isDirectory){folders++;}}}return folders;},initModal:function($modal){var $body=$('body');if($body.length){$modal.appendTo($body);}},isEmpty:function(value,trim){return value===undefined||value===null||value.length===0||(trim&&$.trim(value)==='');},isArray:function(a){return Array.isArray(a)||Object.prototype.toString.call(a)==='[object Array]';},ifSet:function(needle,haystack,def){def=def||'';return(haystack&&typeof haystack==='object'&&needle in haystack)?haystack[needle]:def;},cleanArray:function(arr){if(!(arr instanceof Array)){arr=[];}return arr.filter(function(e){return(e!==undefined&&e!==null);});},spliceArray:function(arr,index,reverseOrder){var i,j=0,oLine truncated
|
||||
-1
@@ -1 +0,0 @@
|
||||
.fixed-table-container .bs-checkbox,.fixed-table-container .no-records-found{text-align:center}.fixed-table-body thead th .th-inner,.table td,.table th{box-sizing:border-box}.bootstrap-table .table{margin-bottom:0!important;border-bottom:1px solid #ddd;border-collapse:collapse!important;border-radius:1px}.bootstrap-table .table:not(.table-condensed),.bootstrap-table .table:not(.table-condensed)>tbody>tr>td,.bootstrap-table .table:not(.table-condensed)>tbody>tr>th,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>td,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>th,.bootstrap-table .table:not(.table-condensed)>thead>tr>td{padding:8px}.bootstrap-table .table.table-no-bordered>tbody>tr>td,.bootstrap-table .table.table-no-bordered>thead>tr>th{border-right:2px solid transparent}.bootstrap-table .table.table-no-bordered>tbody>tr>td:last-child{border-right:none}.fixed-table-container{position:relative;clear:both;border:1px solid #ddd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.fixed-table-container.table-no-bordered{border:1px solid transparent}.fixed-table-footer,.fixed-table-header{overflow:hidden}.fixed-table-footer{border-top:1px solid #ddd}.fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.fixed-table-container table{width:100%}.fixed-table-container thead th{height:0;padding:0;margin:0;border-left:1px solid #ddd}.fixed-table-container thead th:focus{outline:transparent solid 0}.fixed-table-container thead th:first-child{border-left:none;border-top-left-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px}.fixed-table-container tbody td .th-inner,.fixed-table-container thead th .th-inner{padding:8px;line-height:24px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-table-container thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px}.fixed-table-container thead th .both{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC')}.fixed-table-container thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.fixed-table-container thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.fixed-table-container th.detail{width:30px}.fixed-table-container tbody td{border-left:1px solid #ddd}.fixed-table-container tbody tr:first-child td{border-top:none}.fixed-table-container tbody td:first-child{border-left:none}.fixed-table-container tbody .selected td{background-color:#f5f5f5}.fixed-table-container .bs-checkbox .th-inner{padding:8px 0}.fixed-table-container input[type=radio],.fixed-table-container input[type=checkbox]{margin:0 auto!important}.fixed-table-pagination .pagination-detail,.fixed-table-pagination div.pagination{margin-top:10px;margin-bottom:10px}.fixed-table-pagination div.pagination .pagination{margin:0}.fixed-table-pagination .pagination a{padding:6px 12px;line-height:1.428571429}.fixed-table-pagination .pagination-info{line-height:34px;margin-right:5px}.fixed-table-pagination .btn-group{position:relative;display:inline-block;vertical-align:middle}.fixed-table-pagination .dropup .dropdown-menu{margin-bottom:0}.fixed-table-pagination .page-list{display:inline-block}.fixed-table-toolbar .columns-left{margin-right:5px}.fixed-table-toolbar .columns-right{margin-left:5px}.fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.fixed-table-toolbar .bs-bars,.fixed-table-toolbar .columns,.fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px;line-height:34px}.fixed-table-pagination li.disabled a{pointer-events:none;cursor:default}.fixed-table-loading{display:none;position:absolute;top:42px;right:0;bottom:0;left:0;z-index:99;background-color:#fff;text-align:center}.fixed-table-body .card-view .title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.table td,.table th{vertical-align:middle}.fixed-table-toolbar .dropdown-menu{text-align:left;max-height:300px;overflow:auto}.fixed-table-toolbar .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.fixed-table-toolbar .btn-group>.btn-group>.btn{border-radius:0}.fixed-table-toolbar .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.fixed-table-toolbar Line truncated
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
/**
|
||||
* @author zhixin wen <wenzhixin2010@gmail.com>
|
||||
* version: 1.11.0
|
||||
* https://github.com/wenzhixin/bootstrap-table/
|
||||
*/
|
||||
(function(j){var k=null;var m=function(u){var s=arguments,r=true,t=1;u=u.replace(/%s/g,function(){var v=s[t++];if(typeof v==="undefined"){r=false;return""}return v});return r?u:""};var c=function(t,v,u,s){var r="";j.each(t,function(w,x){if(x[v]===s){r=x[u];return false}return true});return r};var i=function(s,t){var r=-1;j.each(s,function(u,v){if(v.field===t){r=u;return false}return true});return r};var l=function(u){var y,x,w,A=0,B=[];for(y=0;y<u[0].length;y++){A+=u[0][y].colspan||1}for(y=0;y<u.length;y++){B[y]=[];for(x=0;x<A;x++){B[y][x]=false}}for(y=0;y<u.length;y++){for(x=0;x<u[y].length;x++){var s=u[y][x],v=s.rowspan||1,t=s.colspan||1,z=j.inArray(false,B[y]);if(t===1){s.fieldIndex=z;if(typeof s.field==="undefined"){s.field=z}}for(w=0;w<v;w++){B[y+w][z]=true}for(w=0;w<t;w++){B[y][z+w]=true}}}};var a=function(){if(k===null){var t=j("<p/>").addClass("fixed-table-scroll-inner"),u=j("<div/>").addClass("fixed-table-scroll-outer"),s,r;u.append(t);j("body").append(u);s=t[0].offsetWidth;u.css("overflow","scroll");r=t[0].offsetWidth;if(s===r){r=u[0].clientWidth}u.remove();k=s-r}return k};var q=function(s,u,t,r){var v=u;if(typeof u==="string"){var w=u.split(".");if(w.length>1){v=window;j.each(w,function(x,y){v=v[y]})}else{v=window[u]}}if(typeof v==="object"){return v}if(typeof v==="function"){return v.apply(s,t)}if(!v&&typeof u==="string"&&m.apply(this,[u].concat(t))){return m.apply(this,[u].concat(t))}return r};var f=function(s,r,w){var x=Object.getOwnPropertyNames(s),u=Object.getOwnPropertyNames(r),v="";if(w){if(x.length!==u.length){return false}}for(var t=0;t<x.length;t++){v=x[t];if(j.inArray(v,u)>-1){if(s[v]!==r[v]){return false}}}return true};var p=function(r){if(typeof r==="string"){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/`/g,"`")}return r};var d=function(s){var r=0;s.children().each(function(){if(r<j(this).outerHeight(true)){r=j(this).outerHeight(true)}});return r};var g=function(t){for(var r in t){var s=r.split(/(?=[A-Z])/).join("-").toLowerCase();if(s!==r){t[s]=t[r];delete t[r]}}return t};var o=function(t,w,s){var u=t;if(typeof w!=="string"||t.hasOwnProperty(w)){return s?p(t[w]):t[w]}var r=w.split(".");for(var v in r){u=u&&u[r[v]]}return s?p(u):u};var b=function(){return !!(navigator.userAgent.indexOf("MSIE ")>0||!!navigator.userAgent.match(/Trident.*rv\:11\./))};var h=function(){if(!Object.keys){Object.keys=(function(){var t=Object.prototype.hasOwnProperty,u=!({toString:null}).propertyIsEnumerable("toString"),s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],r=s.length;return function(x){if(typeof x!=="object"&&(typeof x!=="function"||x===null)){throw new TypeError("Object.keys called on non-object")}var v=[],y,w;for(y in x){if(t.call(x,y)){v.push(y)}}if(u){for(w=0;w<r;w++){if(t.call(x,s[w])){v.push(s[w])}}}return v}}())}};var e=function(s,r){this.options=r;this.$el=j(s);this.$el_=this.$el.clone();this.timeoutId_=0;this.timeoutFooter_=0;this.init()};e.DEFAULTS={id:undefined,classes:"table table-hover",locale:undefined,height:undefined,undefinedText:"-",sortName:undefined,sortOrder:"asc",sortStable:false,striped:false,columns:[[]],data:[],dataField:"rows",method:"get",url:undefined,ajax:undefined,cache:true,contentType:"application/json",dataType:"json",ajaxOptions:{},queryParams:function(r){return r},queryParamsType:"limit",responseHandler:function(r){return r},pagination:false,onlyInfoPagination:false,sidePagination:"client",totalRows:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],paginationHAlign:"right",paginationVAlign:"bottom",paginationDetailHAlign:"left",paginationPreText:"‹",paginationNextText:"›",search:false,searchOnEnterKey:false,strictSearch:false,searchAlign:"right",selectItemName:"btSelectItem",showHeader:true,showFooter:false,showColumns:false,showSearch:false,showPageGo:false,showPaginationSwitch:false,showRefresh:false,showToggle:false,buttonsAlign:"right",smartDisplay:true,escape:false,firstLoad:true,minimumCountColumns:1,idField:undefined,uniqueId:undefined,cardView:false,detailView:false,detailFormatter:function(r,s){return""},trimOnSearch:true,clickToSelect:false,singleSelect:false,toolbar:undefined,toolbarAlign:"left",checkboxHeader:true,sortable:true,silentSort:true,maintainSelected:false,searchTimeOut:500,searchText:"",iconSize:undefined,buttonsClass:"default",iconsPrefix:"glyphicon",icons:{search:"glyphicon-search",paginationSwitchDown:"glyphicon-collapse-down icon-chevron-down",paginationSwitchUp:"glyphicon-collapse-up icon-chevron-up",refresh:"glyphicon-refresh icon-refresh",toggle:"glyphicon-list-alt icon-list-alt",columns:"glyphicon-th icon-th",detailOpen:"glyphicon-plus icon-plus",detailClose:"glyphicon-minus icon-minus"},customSearch:j.noop,customSort:j.noop,rowStyle:function(s,r){return{}},rowAttributes:function(s,r){return{}},footerStyle:function(s,r){return{}},onAll:function(s,r){return false},onCliLine truncated
|
||||
};e.prototype.uncheck=function(r){this.check_(false,r)};e.prototype.check_=function(t,r){var s=this.$selectItem.filter(m('[data-index="%s"]',r)).prop("checked",t);this.data[r][this.header.stateField]=t;this.updateSelected();this.trigger(t?"check":"uncheck",this.data[r],s)};e.prototype.checkBy=function(r){this.checkBy_(true,r)};e.prototype.uncheckBy=function(r){this.checkBy_(false,r)};e.prototype.checkBy_=function(s,u){if(!u.hasOwnProperty("field")||!u.hasOwnProperty("values")){return}var r=this,t=[];j.each(this.options.data,function(v,x){if(!x.hasOwnProperty(u.field)){return false}if(j.inArray(x[u.field],u.values)!==-1){var w=r.$selectItem.filter(":enabled").filter(m('[data-index="%s"]',v)).prop("checked",s);x[r.header.stateField]=s;t.push(x);r.trigger(s?"check":"uncheck",x,w)}});this.updateSelected();this.trigger(s?"check-some":"uncheck-some",t)};e.prototype.destroy=function(){this.$el.insertBefore(this.$container);j(this.options.toolbar).insertBefore(this.$el);this.$container.next().remove();this.$container.remove();this.$el.html(this.$el_.html()).css("margin-top","0").attr("class",this.$el_.attr("class")||"")};e.prototype.showLoading=function(){this.$tableLoading.show()};e.prototype.hideLoading=function(){this.$tableLoading.hide()};e.prototype.togglePagination=function(){this.options.pagination=!this.options.pagination;var r=this.$toolbar.find('button[name="paginationSwitch"] i');if(this.options.pagination){r.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchDown)}else{r.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchUp)}this.updatePagination()};e.prototype.refresh=function(r){if(r&&r.url){this.options.pageNumber=1}table.rememberSelecteds={};table.rememberSelectedIds={};this.initServer(r&&r.silent,r&&r.query,r&&r.url);this.trigger("refresh",r)};e.prototype.resetWidth=function(){if(this.options.showHeader&&this.options.height){this.fitHeader()}if(this.options.showFooter){this.fitFooter()}};e.prototype.showColumn=function(r){this.toggleColumn(i(this.columns,r),true,true)};e.prototype.hideColumn=function(r){this.toggleColumn(i(this.columns,r),false,true)};e.prototype.getHiddenColumns=function(){return j.grep(this.columns,function(r){return !r.visible})};e.prototype.getVisibleColumns=function(){return j.grep(this.columns,function(r){return r.visible})};e.prototype.toggleAllColumns=function(r){j.each(this.columns,function(t,u){this.columns[t].visible=r});this.initHeader();this.initSearch();this.initPagination();this.initBody();if(this.options.showColumns){var s=this.$toolbar.find(".keep-open input").prop("disabled",false);if(s.filter(":checked").length<=this.options.minimumCountColumns){s.filter(":checked").prop("disabled",true)}}};e.prototype.showAllColumns=function(){this.toggleAllColumns(true)};e.prototype.hideAllColumns=function(){this.toggleAllColumns(false)};e.prototype.filterBy=function(r){this.filterColumns=j.isEmptyObject(r)?{}:r;this.options.pageNumber=1;this.initSearch();this.updatePagination()};e.prototype.scrollTo=function(r){if(typeof r==="string"){r=r==="bottom"?this.$tableBody[0].scrollHeight:0}if(typeof r==="number"){this.$tableBody.scrollTop(r)}if(typeof r==="undefined"){return this.$tableBody.scrollTop()}};e.prototype.getScrollPosition=function(){return this.scrollTo()};e.prototype.selectPage=function(r){if(r>0&&r<=this.options.totalPages){this.options.pageNumber=r;this.updatePagination()}};e.prototype.prevPage=function(){if(this.options.pageNumber>1){this.options.pageNumber--;this.updatePagination()}};e.prototype.nextPage=function(){if(this.options.pageNumber<this.options.totalPages){this.options.pageNumber++;this.updatePagination()}};e.prototype.toggleView=function(){this.options.cardView=!this.options.cardView;this.initHeader();this.initBody();this.trigger("toggle",this.options.cardView)};e.prototype.refreshOptions=function(r){if(f(this.options,r,true)){return}this.options=j.extend(this.options,r);this.trigger("refresh-options",this.options);this.destroy();this.init()};e.prototype.resetSearch=function(s){var r=this.$toolbar.find(".search input");r.val(s||"");this.onSearch({currentTarget:r})};e.prototype.expandRow_=function(s,r){var t=this.$body.find(m('> tr[data-index="%s"]',r));if(t.next().is("tr.detail-view")===(s?false:true)){t.find("> td > .detail-icon").click()}};e.prototype.expandRow=function(r){this.expandRow_(true,r)};e.prototype.collapseRow=function(r){this.expandRow_(false,r)};e.prototype.expandAllRows=function(r){if(r){var w=this.$body.find(m('> tr[data-index="%s"]',0)),x=this,u=null,v=false,s=-1;if(!w.next().is("tr.detail-view")){w.find("> td > .detail-icon").click();v=true}else{if(!w.next().next().is("tr.detail-view")){w.next().find(".detail-icon").click();v=true}}if(v){try{s=setInterval(function(){u=x.$body.find("tr.detail-view").last().find(".detail-icon");if(u.length>0){u.click()}else{clearInterval(s)}},1)}catch(z){clearInterval(s)}}}else{var y=this.$body.children();for(var t=0;t<y.length;t++){this.expandRow_(true,Line truncated
|
||||
-297
@@ -1,297 +0,0 @@
|
||||
/**
|
||||
* 基于bootstrap-table-fixed-columns修改
|
||||
* 支持左右列冻结、支持固定高度
|
||||
* Copyright (c) 2019 ruoyi
|
||||
*/
|
||||
(function ($) {
|
||||
'use strict';
|
||||
|
||||
$.extend($.fn.bootstrapTable.defaults, {
|
||||
fixedColumns: false,
|
||||
fixedNumber: 1,
|
||||
rightFixedColumns: false,
|
||||
rightFixedNumber: 1
|
||||
});
|
||||
|
||||
var BootstrapTable = $.fn.bootstrapTable.Constructor,
|
||||
_initHeader = BootstrapTable.prototype.initHeader,
|
||||
_initBody = BootstrapTable.prototype.initBody,
|
||||
_resetView = BootstrapTable.prototype.resetView;
|
||||
|
||||
BootstrapTable.prototype.initFixedColumns = function () {
|
||||
this.timeoutHeaderColumns_ = 0;
|
||||
this.timeoutBodyColumns_ = 0;
|
||||
if (this.options.fixedColumns) {
|
||||
this.$fixedHeader = $([
|
||||
'<div class="left-fixed-table-columns">',
|
||||
'<table>',
|
||||
'<thead></thead>',
|
||||
'</table>',
|
||||
'</div>'].join(''));
|
||||
|
||||
this.$fixedHeader.find('table').attr('class', this.$el.attr('class'));
|
||||
this.$fixedHeaderColumns = this.$fixedHeader.find('thead');
|
||||
this.$tableHeader.before(this.$fixedHeader);
|
||||
|
||||
this.$fixedBody = $([
|
||||
'<div class="left-fixed-body-columns">',
|
||||
'<table>',
|
||||
'<tbody></tbody>',
|
||||
'</table>',
|
||||
'</div>'].join(''));
|
||||
|
||||
this.$fixedBody.find('table').attr('class', this.$el.attr('class'));
|
||||
this.$fixedBodyColumns = this.$fixedBody.find('tbody');
|
||||
this.$tableBody.before(this.$fixedBody);
|
||||
}
|
||||
if (this.options.rightFixedColumns) {
|
||||
this.$rightfixedBody = $([
|
||||
'<div class="right-fixed-table-columns">',
|
||||
'<table>',
|
||||
'<thead></thead>',
|
||||
'<tbody style="background-color: #fff;"></tbody>',
|
||||
'</table>',
|
||||
'</div>'].join(''));
|
||||
this.$rightfixedBody.find('table').attr('class', this.$el.attr('class'));
|
||||
this.$rightfixedHeaderColumns = this.$rightfixedBody.find('thead');
|
||||
this.$rightfixedBodyColumns = this.$rightfixedBody.find('tbody');
|
||||
this.$tableBody.before(this.$rightfixedBody);
|
||||
if (this.options.fixedColumns) {
|
||||
$('.right-fixed-table-columns').attr('style','right:0px');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.initHeader = function () {
|
||||
_initHeader.apply(this, Array.prototype.slice.apply(arguments));
|
||||
|
||||
if (!this.options.fixedColumns && !this.options.rightFixedColumns){
|
||||
return;
|
||||
}
|
||||
this.initFixedColumns();
|
||||
|
||||
var $ltr = this.$header.find('tr:eq(0)').clone(true),
|
||||
$rtr = this.$header.find('tr:eq(0)').clone(),
|
||||
$lths = $ltr.clone(true).find('th'),
|
||||
$rths = $rtr.clone().find('th');
|
||||
|
||||
$ltr.html('');
|
||||
$rtr.html('');
|
||||
//右边列冻结
|
||||
if (this.options.rightFixedColumns) {
|
||||
for (var i = 0; i < this.options.rightFixedNumber; i++) {
|
||||
$rtr.append($rths.eq($rths.length - this.options.rightFixedNumber + i).clone());
|
||||
}
|
||||
this.$rightfixedHeaderColumns.html('').append($rtr);
|
||||
}
|
||||
|
||||
//左边列冻结
|
||||
if (this.options.fixedColumns) {
|
||||
for (var i = 0; i < this.options.fixedNumber; i++) {
|
||||
$ltr.append($lths.eq(i).clone(true));
|
||||
}
|
||||
this.$fixedHeaderColumns.html('').append($ltr);
|
||||
this.$selectAll = $ltr.find('[name="btSelectAll"]');
|
||||
this.$selectAll.on('click', function () {
|
||||
var checked = $(this).prop('checked');
|
||||
$(".left-fixed-body-columns input[name=btSelectItem]").filter(':enabled').prop('checked', checked);
|
||||
$('.fixed-table-body input[name=btSelectItem]').closest('tr').removeClass('selected');
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.initBody = function () {
|
||||
_initBody.apply(this, Array.prototype.slice.apply(arguments));
|
||||
|
||||
if (!this.options.fixedColumns && !this.options.rightFixedColumns) {
|
||||
return;
|
||||
}
|
||||
|
||||
var that = this;
|
||||
if (this.options.fixedColumns) {
|
||||
this.$fixedBodyColumns.html('');
|
||||
this.$body.find('> tr[data-index]').each(function () {
|
||||
var $tr = $(this).clone(true),
|
||||
$tds = $tr.clone(true).find('td');
|
||||
|
||||
$tr.html('');
|
||||
for (var i = 0; i < that.options.fixedNumber; i++) {
|
||||
$tr.append($tds.eq(i).clone(true));
|
||||
}
|
||||
that.$fixedBodyColumns.append($tr);
|
||||
});
|
||||
}
|
||||
if (this.options.rightFixedColumns) {
|
||||
this.$rightfixedBodyColumns.html('');
|
||||
this.$body.find('> tr[data-index]').each(function () {
|
||||
var $tr = $(this).clone(),
|
||||
$tds = $tr.clone().find('td');
|
||||
|
||||
$tr.html('');
|
||||
for (var i = 0; i < that.options.rightFixedNumber; i++) {
|
||||
var indexTd = $tds.length - that.options.rightFixedNumber + i;
|
||||
var oldTd = $tds.eq(indexTd);
|
||||
var fixTd = oldTd.clone();
|
||||
var buttons = fixTd.find('button');
|
||||
//事件转移:冻结列里面的事件转移到实际按钮的事件
|
||||
buttons.each(function (key, item) {
|
||||
$(item).click(function () {
|
||||
that.$body.find("tr[data-index=" + $tr.attr('data-index') + "] td:eq(" + indexTd + ") button:eq(" + key + ")").click();
|
||||
});
|
||||
});
|
||||
$tr.append(fixTd);
|
||||
}
|
||||
that.$rightfixedBodyColumns.append($tr);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.resetView = function () {
|
||||
_resetView.apply(this, Array.prototype.slice.apply(arguments));
|
||||
|
||||
if (!this.options.fixedColumns && !this.options.rightFixedColumns) {
|
||||
return;
|
||||
}
|
||||
|
||||
clearTimeout(this.timeoutHeaderColumns_);
|
||||
this.timeoutHeaderColumns_ = setTimeout($.proxy(this.fitHeaderColumns, this), this.$el.is(':hidden') ? 100 : 0);
|
||||
|
||||
clearTimeout(this.timeoutBodyColumns_);
|
||||
this.timeoutBodyColumns_ = setTimeout($.proxy(this.fitBodyColumns, this), this.$el.is(':hidden') ? 100 : 0);
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.fitHeaderColumns = function () {
|
||||
var that = this,
|
||||
visibleFields = this.getVisibleFields(),
|
||||
headerWidth = 0;
|
||||
if (that.options.fixedColumns) {
|
||||
this.$body.find('tr:first-child:not(.no-records-found) > *').each(function (i) {
|
||||
var $this = $(this),
|
||||
index = i;
|
||||
|
||||
if (i >= that.options.fixedNumber) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (that.options.detailView && !that.options.cardView) {
|
||||
index = i - 1;
|
||||
}
|
||||
that.$fixedHeader.find('thead th[data-field="' + visibleFields[index] + '"]')
|
||||
.find('.fht-cell').width($this.innerWidth());
|
||||
headerWidth += $this.outerWidth();
|
||||
});
|
||||
this.$fixedHeader.width(headerWidth + 2).show();
|
||||
}
|
||||
if (that.options.rightFixedColumns) {
|
||||
this.$body.find('tr:first-child:not(.no-records-found) > *').each(function (i) {
|
||||
var $this = $(this),
|
||||
index = i;
|
||||
|
||||
if (i >= visibleFields.length - that.options.rightFixedNumber) {
|
||||
return false;
|
||||
|
||||
|
||||
if (that.options.detailView && !that.options.cardView) {
|
||||
index = i - 1;
|
||||
}
|
||||
that.$rightfixedBody.find('thead th[data-field="' + visibleFields[index] + '"]')
|
||||
.find('.fht-cell').width($this.innerWidth() - 1);
|
||||
headerWidth += $this.outerWidth();
|
||||
}
|
||||
});
|
||||
this.$rightfixedBody.width(headerWidth - 1).show();
|
||||
}
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.fitBodyColumns = function () {
|
||||
var that = this,
|
||||
top = -(parseInt(this.$el.css('margin-top'))),
|
||||
height = this.$tableBody.height();
|
||||
|
||||
if (that.options.fixedColumns) {
|
||||
if (!this.$body.find('> tr[data-index]').length) {
|
||||
this.$fixedBody.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.options.height) {
|
||||
top = this.$fixedHeader.height()- 1;
|
||||
height = height - top;
|
||||
}
|
||||
|
||||
this.$fixedBody.css({
|
||||
width: this.$fixedHeader.width(),
|
||||
height: height,
|
||||
top: top + 1
|
||||
}).show();
|
||||
|
||||
this.$body.find('> tr').each(function (i) {
|
||||
that.$fixedBody.find('tr:eq(' + i + ')').height($(this).height() - 0.5);
|
||||
var thattds = this;
|
||||
that.$fixedBody.find('tr:eq(' + i + ')').find('td').each(function (j) {
|
||||
$(this).width($($(thattds).find('td')[j]).width() + 1);
|
||||
});
|
||||
});
|
||||
|
||||
$("#" + table.options.id).on("check.bs.table uncheck.bs.table", function (e, rows, $element) {
|
||||
var index= $element.data('index');
|
||||
$(this).find('.bs-checkbox').find('input[data-index="' + index + '"]').prop("checked", true);
|
||||
var selectFixedItem = $('.left-fixed-body-columns input[name=btSelectItem]');
|
||||
var checkAll = selectFixedItem.filter(':enabled').length &&
|
||||
selectFixedItem.filter(':enabled').length ===
|
||||
selectFixedItem.filter(':enabled').filter(':checked').length;
|
||||
$(".left-fixed-table-columns input[name=btSelectAll]").prop('checked', checkAll);
|
||||
$('.fixed-table-body input[name=btSelectItem]').closest('tr').removeClass('selected');
|
||||
});
|
||||
|
||||
//// events
|
||||
this.$tableBody.on('scroll', function () {
|
||||
that.$fixedBody.find('table').css('top', -$(this).scrollTop());
|
||||
});
|
||||
this.$body.find('> tr[data-index]').off('hover').hover(function () {
|
||||
var index = $(this).data('index');
|
||||
that.$fixedBody.find('tr[data-index="' + index + '"]').addClass('hover');
|
||||
}, function () {
|
||||
var index = $(this).data('index');
|
||||
that.$fixedBody.find('tr[data-index="' + index + '"]').removeClass('hover');
|
||||
});
|
||||
this.$fixedBody.find('tr[data-index]').off('hover').hover(function () {
|
||||
var index = $(this).data('index');
|
||||
that.$body.find('tr[data-index="' + index + '"]').addClass('hover');
|
||||
}, function () {
|
||||
var index = $(this).data('index');
|
||||
that.$body.find('> tr[data-index="' + index + '"]').removeClass('hover');
|
||||
});
|
||||
}
|
||||
if (that.options.rightFixedColumns) {
|
||||
if (!this.$body.find('> tr[data-index]').length) {
|
||||
this.$rightfixedBody.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
this.$body.find('> tr').each(function (i) {
|
||||
that.$rightfixedBody.find('tbody tr:eq(' + i + ')').height($(this).height());
|
||||
});
|
||||
|
||||
//// events
|
||||
this.$tableBody.on('scroll', function () {
|
||||
that.$rightfixedBody.find('table').css('top', -$(this).scrollTop());
|
||||
});
|
||||
this.$body.find('> tr[data-index]').off('hover').hover(function () {
|
||||
var index = $(this).data('index');
|
||||
that.$rightfixedBody.find('tr[data-index="' + index + '"]').addClass('hover');
|
||||
}, function () {
|
||||
var index = $(this).data('index');
|
||||
that.$rightfixedBody.find('tr[data-index="' + index + '"]').removeClass('hover');
|
||||
});
|
||||
this.$rightfixedBody.find('tr[data-index]').off('hover').hover(function () {
|
||||
var index = $(this).data('index');
|
||||
that.$body.find('tr[data-index="' + index + '"]').addClass('hover');
|
||||
}, function () {
|
||||
var index = $(this).data('index');
|
||||
that.$body.find('> tr[data-index="' + index + '"]').removeClass('hover');
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
-146
@@ -1,146 +0,0 @@
|
||||
/**
|
||||
* @author zhixin wen <wenzhixin2010@gmail.com>
|
||||
* extensions: https://github.com/vitalets/x-editable
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.extend($.fn.bootstrapTable.defaults, {
|
||||
editable: true,
|
||||
onEditableInit: function() {
|
||||
return false;
|
||||
},
|
||||
onEditableSave: function(field, row, oldValue, $el) {
|
||||
return false;
|
||||
},
|
||||
onEditableShown: function(field, row, $el, editable) {
|
||||
return false;
|
||||
},
|
||||
onEditableHidden: function(field, row, $el, reason) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
|
||||
'editable-init.bs.table': 'onEditableInit',
|
||||
'editable-save.bs.table': 'onEditableSave',
|
||||
'editable-shown.bs.table': 'onEditableShown',
|
||||
'editable-hidden.bs.table': 'onEditableHidden'
|
||||
});
|
||||
|
||||
var BootstrapTable = $.fn.bootstrapTable.Constructor,
|
||||
_initTable = BootstrapTable.prototype.initTable,
|
||||
_initBody = BootstrapTable.prototype.initBody;
|
||||
|
||||
BootstrapTable.prototype.initTable = function() {
|
||||
var that = this;
|
||||
_initTable.apply(this, Array.prototype.slice.apply(arguments));
|
||||
|
||||
if (!this.options.editable) {
|
||||
return;
|
||||
}
|
||||
|
||||
$.each(this.columns, function(i, column) {
|
||||
if (!column.editable) {
|
||||
return;
|
||||
}
|
||||
|
||||
var editableOptions = {},
|
||||
editableDataMarkup = [],
|
||||
editableDataPrefix = 'editable-';
|
||||
|
||||
var processDataOptions = function(key, value) {
|
||||
// Replace camel case with dashes.
|
||||
var dashKey = key.replace(/([A-Z])/g, function($1) {
|
||||
return "-" + $1.toLowerCase();
|
||||
});
|
||||
if (dashKey.slice(0, editableDataPrefix.length) == editableDataPrefix) {
|
||||
var dataKey = dashKey.replace(editableDataPrefix, 'data-');
|
||||
editableOptions[dataKey] = value;
|
||||
}
|
||||
};
|
||||
|
||||
$.each(that.options, processDataOptions);
|
||||
|
||||
column.formatter = column.formatter || function(value, row, index) {
|
||||
return value;
|
||||
};
|
||||
column._formatter = column._formatter ? column._formatter : column.formatter;
|
||||
column.formatter = function(value, row, index) {
|
||||
var result = column._formatter ? column._formatter(value, row, index) : value;
|
||||
|
||||
$.each(column, processDataOptions);
|
||||
|
||||
$.each(editableOptions, function(key, value) {
|
||||
editableDataMarkup.push(' ' + key + '="' + value + '"');
|
||||
});
|
||||
|
||||
var _dont_edit_formatter = false;
|
||||
if (column.editable.hasOwnProperty('noeditFormatter')) {
|
||||
_dont_edit_formatter = column.editable.noeditFormatter(value, row, index);
|
||||
}
|
||||
|
||||
if (_dont_edit_formatter === false) {
|
||||
return ['<a href="javascript:void(0)"',
|
||||
' data-name="' + column.field + '"',
|
||||
' data-pk="' + row[that.options.idField] + '"',
|
||||
' data-value="' + result + '"',
|
||||
editableDataMarkup.join(''),
|
||||
'>' + '</a>'
|
||||
].join('');
|
||||
} else {
|
||||
return _dont_edit_formatter;
|
||||
}
|
||||
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.initBody = function() {
|
||||
var that = this;
|
||||
_initBody.apply(this, Array.prototype.slice.apply(arguments));
|
||||
|
||||
if (!this.options.editable) {
|
||||
return;
|
||||
}
|
||||
|
||||
$.each(this.columns, function(i, column) {
|
||||
if (!column.editable) {
|
||||
return;
|
||||
}
|
||||
|
||||
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable)
|
||||
.off('save').on('save', function(e, params) {
|
||||
var data = that.getData(),
|
||||
index = $(this).parents('tr[data-index]').data('index'),
|
||||
row = data[index],
|
||||
oldValue = row[column.field];
|
||||
|
||||
$(this).data('value', params.submitValue);
|
||||
row[column.field] = params.submitValue;
|
||||
that.trigger('editable-save', column.field, row, oldValue, $(this));
|
||||
that.resetFooter();
|
||||
});
|
||||
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable)
|
||||
.off('shown').on('shown', function(e, editable) {
|
||||
var data = that.getData(),
|
||||
index = $(this).parents('tr[data-index]').data('index'),
|
||||
row = data[index];
|
||||
|
||||
that.trigger('editable-shown', column.field, row, $(this), editable);
|
||||
});
|
||||
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable)
|
||||
.off('hidden').on('hidden', function(e, reason) {
|
||||
var data = that.getData(),
|
||||
index = $(this).parents('tr[data-index]').data('index'),
|
||||
row = data[index];
|
||||
|
||||
that.trigger('editable-hidden', column.field, row, $(this), reason);
|
||||
});
|
||||
});
|
||||
this.trigger('editable-init');
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
-119
@@ -1,119 +0,0 @@
|
||||
/**
|
||||
* @author zhixin wen <wenzhixin2010@gmail.com>
|
||||
* extensions: https://github.com/kayalshri/tableExport.jquery.plugin
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
'use strict';
|
||||
var sprintf = $.fn.bootstrapTable.utils.sprintf;
|
||||
|
||||
var TYPE_NAME = {
|
||||
csv: 'CSV',
|
||||
txt: 'TXT',
|
||||
doc: 'Word',
|
||||
excel: 'Excel'
|
||||
};
|
||||
|
||||
$.extend($.fn.bootstrapTable.defaults, {
|
||||
showExport: false,
|
||||
exportDataType: 'all', // basic, all, selected
|
||||
exportTypes: ['csv', 'txt', 'doc', 'excel'],
|
||||
exportOptions: {
|
||||
ignoreColumn: [0] //忽略列索引
|
||||
}
|
||||
});
|
||||
|
||||
$.extend($.fn.bootstrapTable.defaults.icons, {
|
||||
export: 'glyphicon glyphicon-save'
|
||||
});
|
||||
|
||||
$.extend($.fn.bootstrapTable.locales, {
|
||||
formatExport: function () {
|
||||
return '导出';
|
||||
}
|
||||
});
|
||||
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
|
||||
|
||||
var BootstrapTable = $.fn.bootstrapTable.Constructor,
|
||||
_initToolbar = BootstrapTable.prototype.initToolbar;
|
||||
|
||||
BootstrapTable.prototype.initToolbar = function () {
|
||||
this.showToolbar = this.options.showExport;
|
||||
|
||||
_initToolbar.apply(this, Array.prototype.slice.apply(arguments));
|
||||
|
||||
if (this.options.showExport) {
|
||||
var that = this,
|
||||
$btnGroup = this.$toolbar.find('>.btn-group'),
|
||||
$export = $btnGroup.find('div.export');
|
||||
|
||||
if (!$export.length) {
|
||||
$export = $([
|
||||
'<div class="export btn-group">',
|
||||
'<button class="btn' +
|
||||
sprintf(' btn-%s', this.options.buttonsClass) +
|
||||
sprintf(' btn-%s', this.options.iconSize) +
|
||||
' dropdown-toggle" ' +
|
||||
'title="' + this.options.formatExport() + '" ' +
|
||||
'data-toggle="dropdown" type="button">',
|
||||
sprintf('<i class="%s %s"></i> ', this.options.iconsPrefix, this.options.icons.export),
|
||||
'<span class="caret"></span>',
|
||||
'</button>',
|
||||
'<ul class="dropdown-menu" role="menu">',
|
||||
'</ul>',
|
||||
'</div>'].join('')).appendTo($btnGroup);
|
||||
|
||||
var $menu = $export.find('.dropdown-menu'),
|
||||
exportTypes = this.options.exportTypes;
|
||||
|
||||
if (typeof this.options.exportTypes === 'string') {
|
||||
var types = this.options.exportTypes.slice(1, -1).replace(/ /g, '').split(',');
|
||||
|
||||
exportTypes = [];
|
||||
$.each(types, function (i, value) {
|
||||
exportTypes.push(value.slice(1, -1));
|
||||
});
|
||||
}
|
||||
$.each(exportTypes, function (i, type) {
|
||||
if (TYPE_NAME.hasOwnProperty(type)) {
|
||||
$menu.append(['<li data-type="' + type + '">',
|
||||
'<a href="javascript:void(0)">',
|
||||
TYPE_NAME[type],
|
||||
'</a>',
|
||||
'</li>'].join(''));
|
||||
}
|
||||
});
|
||||
|
||||
$menu.find('li').click(function () {
|
||||
var type = $(this).data('type'),
|
||||
doExport = function () {
|
||||
that.$el.tableExport($.extend({}, that.options.exportOptions, {
|
||||
type: type,
|
||||
escape: false
|
||||
}));
|
||||
};
|
||||
|
||||
if (that.options.exportDataType === 'all' && that.options.pagination) {
|
||||
that.$el.one(that.options.sidePagination === 'server' ? 'post-body.bs.table' : 'page-change.bs.table', function () {
|
||||
doExport();
|
||||
that.togglePagination();
|
||||
});
|
||||
that.togglePagination();
|
||||
} else if (that.options.exportDataType === 'selected') {
|
||||
//修改sidePagination属性为server无法导出选中数据
|
||||
var trs = that.$body.children();
|
||||
for (var i = 0; i < trs.length; i++) {
|
||||
var $this = $(trs[i]);
|
||||
if(!$this.find(sprintf('[name="%s"]',that.options.selectItemName)).prop('checked')){
|
||||
$this['hide']();
|
||||
}}
|
||||
doExport();
|
||||
that.getRowsHidden(true);
|
||||
} else {
|
||||
doExport();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
||||
-92
@@ -1,92 +0,0 @@
|
||||
/**
|
||||
* 基于bootstrap-table-mobile修改
|
||||
* 修正部分iPhone手机不显示卡片视图
|
||||
* Copyright (c) 2019 ruoyi
|
||||
*/
|
||||
!function ($) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var resetView = function (that) {
|
||||
if (that.options.height || that.options.showFooter) {
|
||||
setTimeout(that.resetView(), 1);
|
||||
}
|
||||
};
|
||||
|
||||
// 判断是否 iphone
|
||||
var isIPhone = function () {
|
||||
var browserName = navigator.userAgent.toLowerCase();
|
||||
return /(iPhone|iPad|iPod|iOS)/i.test(browserName);
|
||||
};
|
||||
|
||||
var changeView = function (that, width, height) {
|
||||
if (that.options.minHeight) {
|
||||
if (checkValuesLessEqual(width, that.options.minWidth) && checkValuesLessEqual(height, that.options.minHeight)) {
|
||||
conditionCardView(that);
|
||||
} else if (checkValuesGreater(width, that.options.minWidth) && checkValuesGreater(height, that.options.minHeight)) {
|
||||
conditionFullView(that);
|
||||
}
|
||||
} else {
|
||||
if (checkValuesLessEqual(width, that.options.minWidth) || isIPhone()) {
|
||||
conditionCardView(that);
|
||||
} else if (checkValuesGreater(width, that.options.minWidth)) {
|
||||
conditionFullView(that);
|
||||
}
|
||||
}
|
||||
|
||||
resetView(that);
|
||||
};
|
||||
|
||||
var checkValuesLessEqual = function (currentValue, targetValue) {
|
||||
return currentValue <= targetValue;
|
||||
};
|
||||
|
||||
var checkValuesGreater = function (currentValue, targetValue) {
|
||||
return currentValue > targetValue;
|
||||
};
|
||||
|
||||
var conditionCardView = function (that) {
|
||||
changeTableView(that, false);
|
||||
};
|
||||
|
||||
var conditionFullView = function (that) {
|
||||
changeTableView(that, true);
|
||||
};
|
||||
|
||||
var changeTableView = function (that, cardViewState) {
|
||||
that.options.cardView = cardViewState;
|
||||
that.toggleView();
|
||||
};
|
||||
|
||||
$.extend($.fn.bootstrapTable.defaults, {
|
||||
mobileResponsive: false,
|
||||
minWidth: 562,
|
||||
minHeight: undefined,
|
||||
checkOnInit: true,
|
||||
toggled: false
|
||||
});
|
||||
|
||||
var BootstrapTable = $.fn.bootstrapTable.Constructor,
|
||||
_init = BootstrapTable.prototype.init;
|
||||
|
||||
BootstrapTable.prototype.init = function () {
|
||||
_init.apply(this, Array.prototype.slice.apply(arguments));
|
||||
|
||||
if (!this.options.mobileResponsive) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.options.minWidth) {
|
||||
return;
|
||||
}
|
||||
|
||||
var that = this;
|
||||
$(window).resize(function () {
|
||||
changeView(that, $(this).width(), $(this).height())
|
||||
});
|
||||
|
||||
if (this.options.checkOnInit) {
|
||||
changeView(this, $(window).width(), $(window).height());
|
||||
}
|
||||
};
|
||||
}(jQuery);
|
||||
Vendored
-42
@@ -1,42 +0,0 @@
|
||||
(function ($) {
|
||||
'use strict';
|
||||
|
||||
$.fn.bootstrapTable.locales['zh-CN'] = {
|
||||
formatLoadingMessage: function () {
|
||||
return '正在努力地加载数据中,请稍候……';
|
||||
},
|
||||
formatRecordsPerPage: function (pageNumber) {
|
||||
return pageNumber + ' 条记录每页';
|
||||
},
|
||||
formatShowingRows: function (pageFrom, pageTo, totalRows) {
|
||||
return '第 ' + pageFrom + ' 到 ' + pageTo + ' 条,共 ' + totalRows + ' 条记录。';
|
||||
},
|
||||
formatSearch: function () {
|
||||
return '搜索';
|
||||
},
|
||||
formatNoMatches: function () {
|
||||
return '没有找到匹配的记录';
|
||||
},
|
||||
formatPaginationSwitch: function () {
|
||||
return '隐藏/显示分页';
|
||||
},
|
||||
formatRefresh: function () {
|
||||
return '刷新';
|
||||
},
|
||||
formatToggle: function () {
|
||||
return '切换';
|
||||
},
|
||||
formatColumns: function () {
|
||||
return '列';
|
||||
},
|
||||
formatExport: function () {
|
||||
return '导出数据';
|
||||
},
|
||||
formatClearFilters: function () {
|
||||
return '清空过滤';
|
||||
}
|
||||
};
|
||||
|
||||
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']);
|
||||
|
||||
})(jQuery);
|
||||
Vendored
-1
@@ -1 +0,0 @@
|
||||
(function($){$.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中,请稍候……"},formatRecordsPerPage:function(pageNumber){return pageNumber+" 条记录每页"},formatShowingRows:function(pageFrom,pageTo,totalRows){return"第 "+pageFrom+" 到 "+pageTo+" 条,共 "+totalRows+" 条记录。"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatColumns:function(){return"列"},formatExport:function(){return"导出数据"},formatClearFilters:function(){return"清空过滤"}};$.extend($.fn.bootstrapTable.defaults,$.fn.bootstrapTable.locales["zh-CN"])})(jQuery);
|
||||
@@ -1,2 +0,0 @@
|
||||
/*! layer-v3.1.1 Web弹层组件 MIT License http://layer.layui.com/ By 贤心 */
|
||||
;!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["确定","取消"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(o.getStyle(document.getElementById(f),"width"))?i():setTimeout(u,100))}()}}},r={v:"3.1.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"信息",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'<div class="layui-layer-title" style="'+(f?r.title[1]:"")+'">'+(f?r.title[0]:r.title)+"</div>":"";return r.zIndex=s,t([r.shade?'<div class="layui-layer-shade" id="layui-layer-shade'+a+'" times="'+a+'" style="'+("z-index:"+(s-1)+"; ")+'"></div>':"",'<div class="'+l[0]+(" layui-layer-"+o.type[r.type])+(0!=r.type&&2!=r.type||r.shade?"":" layui-layer-border")+" "+(r.skin||"")+'" id="'+l[0]+a+'" type="'+o.type[r.type]+'" times="'+a+'" showtime="'+r.time+'" conType="'+(e?"object":"string")+'" style="z-index: '+s+"; width:"+r.area[0]+";height:"+r.area[1]+(r.fixed?"":";position:absolute;")+'">'+(e&&2!=r.type?"":u)+'<div id="'+(r.id||"")+'" class="layui-layer-content'+(0==r.type&&r.icon!==-1?" layui-layer-padding":"")+(3==r.type?" layui-layer-loading"+r.icon:"")+'">'+(0==r.type&&r.icon!==-1?'<i class="layui-layer-ico layui-layer-ico'+r.icon+'"></i>':"")+(1==r.type&&e?"":r.content||"")+'</div><span class="layui-layer-setwin">'+function(){var e=c?'<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>':"";return r.closeBtn&&(e+='<a class="layui-layer-ico '+l[7]+" "+l[7]+(r.title?r.closeBtn:4==r.type?"1":"2")+'" href="javascript:;"></a>'),e}()+"</span>"+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t<i;t++)e+='<a class="'+l[6]+t+'">'+r.btn[t]+"</a>";return'<div class="'+l[6]+" layui-layer-btn-"+(r.btnAlign||"")+'">'+e+"</div>"}():"")+(r.resize?'<span class="layui-layer-resize"></span>':"")+"</div>"],u,i('<div class="layui-layer-move"></div>')),n},s.pt.creat=function(){vLine truncated
|
||||
@@ -1 +0,0 @@
|
||||
.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #b2b2b2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%Line truncated
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/*! laydate-v5.0.9 日期与时间组件 MIT License http://www.layui.com/laydate/ By 贤心 */
|
||||
.laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:laydate-upbit;animation-name:laydate-upbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@-webkit-keyframes laydate-upbit{from{-webkit-transform:translate3d(0,20px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes laydate-upbit{from{transform:translate3d(0,20px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.laydate-set-ym span,.layui-laydate-header i{padding:0 5px;cursor:pointer}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;color:#999;font-size:18px}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;height:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px 20px}.layui-laydate-footer span{margin-right:15px;display:inline-block;cursor:pointer;font-size:12px}.layui-laydate-footer span:hover{color:#5FB878}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{height:26px;line-height:26px;margin:0 0 0 -1px;padding:0 10px;border:1px solid #C9C9C9;background-color:#fff;white-space:nowrap;vertical-align:top;border-radius:2px}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#00F7DE}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{baLine truncated
|
||||
@@ -1,2 +0,0 @@
|
||||
/** layui-v2.3.0-rc1 MIT License By https://www.layui.com */
|
||||
;!function(e){"use strict";var t=document,n={modules:{},status:{},timeout:10,event:{}},o=function(){this.v="2.3.0-rc1"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,n=t.scripts,o=n.length-1,r=o;r>0;r--)if("interactive"===n[r].readyState){e=n[r].src;break}return e||n[o].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),a=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},i="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};o.prototype.cache=n,o.prototype.define=function(e,t){var o=this,r="function"==typeof e,a=function(){var e=function(e,t){layui[e]=t,n.status[e]=!0};return"function"==typeof t&&t(function(o,r){e(o,r),n.callback[o]=function(){t(e)}}),this};return r&&(t=e,e=[]),layui["layui.all"]||!layui["layui.all"]&&layui["layui.mobile"]?a.call(o):(o.use(e,a),o)},o.prototype.use=function(e,o,l){function s(e,t){var o="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||o.test((e.currentTarget||e.srcElement).readyState))&&(n.modules[d]=t,f.removeChild(v),function r(){return++m>1e3*n.timeout/4?a(d+" is not a valid module"):void(n.status[d]?c():setTimeout(r,4))}())}function c(){l.push(layui[d]),e.length>1?y.use(e.slice(1),o,l):"function"==typeof o&&o.apply(layui,l)}var y=this,p=n.dir=n.dir?n.dir:r,f=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,n){"jquery"===n&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var d=e[0],m=0;if(l=l||[],n.host=n.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[d]||!layui["layui.all"]&&layui["layui.mobile"]&&u[d])return c(),y;if(n.modules[d])!function g(){return++m>1e3*n.timeout/4?a(d+" is not a valid module"):void("string"==typeof n.modules[d]&&n.status[d]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[d]?p+"lay/":/^\{\/\}/.test(y.modules[d])?"":n.base||"")+(y.modules[d]||d)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=n.version===!0?n.v||(new Date).getTime():n.version||"";return e?"?v="+e:""}(),f.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||i?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),n.modules[d]=h}return y},o.prototype.getStyle=function(t,n){var o=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return o[o.getPropertyValue?"getPropertyValue":"getAttribute"](n)},o.prototype.link=function(e,o,r){var i=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof o&&(r=o);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(n.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof o?i:(function p(){return++y>1e3*n.timeout/100?a(e+" timeout"):void(1989===parseInt(i.getStyle(t.getElementById(c),"width"))?function(){o()}():setTimeout(p,100))}(),i)},n.callback={},o.prototype.factory=function(e){if(layui[e])return"function"==typeof n.callback[e]?n.callback[e]:null},o.prototype.addcss=function(e,t,o){return layui.link(n.dir+"css/"+e,t,o)},o.prototype.img=function(e,t,n){var o=new Image;return o.src=e,o.complete?t(o):(o.onload=function(){o.onload=null,"function"==typeof t&&t(o)},void(o.onerror=function(e){o.onerror=null,"function"==typeof n&&n(e)}))},o.prototype.config=function(e){e=e||{};for(var t in e)n[t]=e[t];return this},o.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),o.prototype.extend=function(e){var t=this;e=e||{};for(var n in e)t[n]||t.modules[n]?a("模块名 "+n+" 已被占用"):t.modules[n]=e[n];return t},o.prototype.router=function(e){var t=this,e=e||location.hash,n={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),n.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),n.search[t[0]]=t[1]}():n.path.push(t)}),n):n},o.prototype.data=function(t,n,o){if(t=t||"layui",o=o||localStorage,e.JSON&&e.JSON.parse){if(null===n)return delete o[t];n="object"==typeof n?n:{key:n};try{var r=JSON.parse(o[t])}catch(a){var r={}}return"value"in n&&(r[n.key]=n.value),n.remove&&delete r[n.key],o[t]=JSON.stringify(r),n.key?r[n.key]:r}},o.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},o.prototype.device=function(t){var n=navigator.userAgent.toLowerCase(),o=function(e){vaLine truncated
|
||||
@@ -1,7 +0,0 @@
|
||||
/*!
|
||||
* Select2 Bootstrap Theme v0.1.0-beta.10 (https://select2.github.io/select2-bootstrap-theme)
|
||||
* Copyright 2015-2017 Florian Kissling and contributors (https://github.com/select2/select2-bootstrap-theme/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/select2/select2-bootstrap-theme/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
.select2-container--bootstrap{display:block}.select2-container--bootstrap .select2-selection{background-color:#fff;border:1px solid #e5e6e7;border-radius:1px;color:#555;font-size:14px;outline:0}.select2-container--bootstrap .select2-selection.form-control{border-radius:4px}.select2-container--bootstrap .select2-search--dropdown .select2-search__field{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#555;font-size:14px}.select2-container--bootstrap .select2-search__field{outline:0}.select2-container--bootstrap .select2-search__field::-webkit-input-placeholder{color:#999}.select2-container--bootstrap .select2-search__field:-moz-placeholder{color:#999}.select2-container--bootstrap .select2-search__field::-moz-placeholder{color:#999;opacity:1}.select2-container--bootstrap .select2-search__field:-ms-input-placeholder{color:#999}.select2-container--bootstrap .select2-results__option{padding:6px 12px}.select2-container--bootstrap .select2-results__option[role=group]{padding:0}.select2-container--bootstrap .select2-results__option[aria-disabled=true]{color:#777;cursor:not-allowed}.select2-container--bootstrap .select2-results__option[aria-selected=true]{background-color:#f5f5f5;color:#262626}.select2-container--bootstrap .select2-results__option--highlighted[aria-selected]{background-color:#337ab7;color:#fff}.select2-container--bootstrap .select2-results__option .select2-results__option{padding:6px 12px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option{margin-left:-12px;padding-left:24px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-24px;padding-left:36px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-36px;padding-left:48px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-48px;padding-left:60px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-60px;padding-left:72px}.select2-container--bootstrap .select2-results__group{color:#777;display:block;padding:6px 12px;font-size:12px;line-height:1.42857143;white-space:nowrap}.select2-container--bootstrap.select2-container--focus .select2-selection,.select2-container--bootstrap.select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;border-color:#66afe9}.select2-container--bootstrap.select2-container--open .select2-selection .select2-selection__arrow b{border-color:transparent transparent #999;border-width:0 4px 4px}.select2-container--bootstrap.select2-container--open.select2-container--below .select2-selection{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-color:transparent}.select2-container--bootstrap.select2-container--open.select2-container--above .select2-selection{border-top-right-radius:0;border-top-left-radius:0;border-top-color:transparent}.select2-container--bootstrap .select2-selection__clear{color:#999;cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--bootstrap .select2-selection__clear:hover{color:#333}.select2-container--bootstrap.select2-container--disabled .select2-selection{border-color:#ccc;-webkit-box-shadow:none;box-shadow:none}.select2-container--bootstrap.select2-container--disabled .select2-search__field,.select2-container--bootstrap.select2-container--disabled .select2-selection{cursor:not-allowed}.select2-container--bootstrap.select2-container--disabled .select2-selection,.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice{background-color:#eee}.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove,.select2-container--bootstrap.select2-container--disabled .select2-selection__clear{display:none}.select2-container--bootstrap .sLine truncated
|
||||
@@ -1,6 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap v3.3.6 (http://getbootstrap.com)
|
||||
* Copyright 2011-2015 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\Line truncated
|
||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 142 KiB |
@@ -1,7 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap v3.3.6 (http://getbootstrap.com)
|
||||
* Copyright 2011-2015 Twitter, Inc.
|
||||
* Licensed under the MIT license
|
||||
*/
|
||||
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b|Line truncated
|
||||
d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.6",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
|
||||
@@ -1,4 +0,0 @@
|
||||
/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
|
||||
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+Line truncated
|
||||
return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3Line truncated
|
||||
void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Za={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$a[b]||n.find.attr;$a[b]=function(a,b,d){var e,f;return d||(f=$a[b],$a[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$a[b]=f),e}});var _a=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_a.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ab=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ab," ").indexOf(b)>=0)return!0;return!1}});var bb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenLine truncated
|
||||
@@ -1,280 +0,0 @@
|
||||
/**
|
||||
* 通用方法封装处理
|
||||
* Copyright (c) 2019 ruoyi
|
||||
*/
|
||||
$(function() {
|
||||
|
||||
// layer扩展皮肤
|
||||
if (window.layer !== undefined) {
|
||||
layer.config({
|
||||
extend: 'moon/style.css',
|
||||
skin: 'layer-ext-moon'
|
||||
});
|
||||
}
|
||||
|
||||
// select2复选框事件绑定
|
||||
if ($.fn.select2 !== undefined) {
|
||||
$.fn.select2.defaults.set( "theme", "bootstrap" );
|
||||
$("select.form-control:not(.noselect2)").each(function () {
|
||||
$(this).select2().on("change", function () {
|
||||
$(this).valid();
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// iCheck单选框及复选框事件绑定
|
||||
if ($.fn.iCheck !== undefined) {
|
||||
$(".check-box:not(.noicheck),.radio-box:not(.noicheck)").each(function() {
|
||||
$(this).iCheck({
|
||||
checkboxClass: 'icheckbox-blue',
|
||||
radioClass: 'iradio-blue',
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// laydate 时间控件绑定
|
||||
if ($(".select-time").length > 0) {
|
||||
layui.use('laydate', function() {
|
||||
var laydate = layui.laydate;
|
||||
var startDate = laydate.render({
|
||||
elem: '#startTime',
|
||||
max: $('#endTime').val(),
|
||||
theme: 'molv',
|
||||
trigger: 'click',
|
||||
done: function(value, date) {
|
||||
// 结束时间大于开始时间
|
||||
if (value !== '') {
|
||||
endDate.config.min.year = date.year;
|
||||
endDate.config.min.month = date.month - 1;
|
||||
endDate.config.min.date = date.date;
|
||||
} else {
|
||||
endDate.config.min.year = '';
|
||||
endDate.config.min.month = '';
|
||||
endDate.config.min.date = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
var endDate = laydate.render({
|
||||
elem: '#endTime',
|
||||
min: $('#startTime').val(),
|
||||
theme: 'molv',
|
||||
trigger: 'click',
|
||||
done: function(value, date) {
|
||||
// 开始时间小于结束时间
|
||||
if (value !== '') {
|
||||
startDate.config.max.year = date.year;
|
||||
startDate.config.max.month = date.month - 1;
|
||||
startDate.config.max.date = date.date;
|
||||
} else {
|
||||
startDate.config.max.year = '';
|
||||
startDate.config.max.month = '';
|
||||
startDate.config.max.date = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
// laydate time-input 时间控件绑定
|
||||
if ($(".time-input").length > 0) {
|
||||
layui.use('laydate', function () {
|
||||
var com = layui.laydate;
|
||||
$(".time-input").each(function (index, item) {
|
||||
var time = $(item);
|
||||
// 控制控件外观
|
||||
var type = time.attr("data-type") || 'date';
|
||||
// 控制回显格式
|
||||
var format = time.attr("data-format") || 'yyyy-MM-dd';
|
||||
// 控制日期控件按钮
|
||||
var buttons = time.attr("data-btn") || 'clear|now|confirm', newBtnArr = [];
|
||||
// 日期控件选择完成后回调处理
|
||||
var callback = time.attr("data-callback") || {};
|
||||
if (buttons) {
|
||||
if (buttons.indexOf("|") > 0) {
|
||||
var btnArr = buttons.split("|"), btnLen = btnArr.length;
|
||||
for (var j = 0; j < btnLen; j++) {
|
||||
if ("clear" === btnArr[j] || "now" === btnArr[j] || "confirm" === btnArr[j]) {
|
||||
newBtnArr.push(btnArr[j]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ("clear" === buttons || "now" === buttons || "confirm" === buttons) {
|
||||
newBtnArr.push(buttons);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
newBtnArr = ['clear', 'now', 'confirm'];
|
||||
}
|
||||
com.render({
|
||||
elem: item,
|
||||
theme: 'molv',
|
||||
trigger: 'click',
|
||||
type: type,
|
||||
format: format,
|
||||
btns: newBtnArr,
|
||||
done: function (value, data) {
|
||||
if (typeof window[callback] != 'undefined'
|
||||
&& window[callback] instanceof Function) {
|
||||
window[callback](value, data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
// tree 关键字搜索绑定
|
||||
if ($("#keyword").length > 0) {
|
||||
$("#keyword").bind("focus", function focusKey(e) {
|
||||
if ($("#keyword").hasClass("empty")) {
|
||||
$("#keyword").removeClass("empty");
|
||||
}
|
||||
}).bind("blur", function blurKey(e) {
|
||||
if ($("#keyword").val() === "") {
|
||||
$("#keyword").addClass("empty");
|
||||
}
|
||||
$.tree.searchNode(e);
|
||||
}).bind("input propertychange", $.tree.searchNode);
|
||||
}
|
||||
// tree表格树 展开/折叠
|
||||
var expandFlag;
|
||||
$("#expandAllBtn").click(function() {
|
||||
var dataExpand = $.common.isEmpty(table.options.expandAll) ? true : table.options.expandAll;
|
||||
expandFlag = $.common.isEmpty(expandFlag) ? dataExpand : expandFlag;
|
||||
if (!expandFlag) {
|
||||
$.bttTable.bootstrapTreeTable('expandAll');
|
||||
} else {
|
||||
$.bttTable.bootstrapTreeTable('collapseAll');
|
||||
}
|
||||
expandFlag = expandFlag ? false: true;
|
||||
})
|
||||
// 按下ESC按钮关闭弹层
|
||||
$('body', document).on('keyup', function(e) {
|
||||
if (e.which === 27) {
|
||||
$.modal.closeAll();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/** 刷新选项卡 */
|
||||
var refreshItem = function(){
|
||||
var topWindow = $(window.parent.document);
|
||||
var currentId = $('.page-tabs-content', topWindow).find('.active').attr('data-id');
|
||||
var target = $('.RuoYi_iframe[data-id="' + currentId + '"]', topWindow);
|
||||
var url = target.attr('src');
|
||||
target.attr('src', url).ready();
|
||||
}
|
||||
|
||||
/** 关闭选项卡 */
|
||||
var closeItem = function(dataId){
|
||||
var topWindow = $(window.parent.document);
|
||||
if($.common.isNotEmpty(dataId)){
|
||||
window.parent.$.modal.closeLoading();
|
||||
// 根据dataId关闭指定选项卡
|
||||
$('.menuTab[data-id="' + dataId + '"]', topWindow).remove();
|
||||
// 移除相应tab对应的内容区
|
||||
$('.mainContent .RuoYi_iframe[data-id="' + dataId + '"]', topWindow).remove();
|
||||
return;
|
||||
}
|
||||
var panelUrl = window.frameElement.getAttribute('data-panel');
|
||||
$('.page-tabs-content .active i', topWindow).click();
|
||||
if($.common.isNotEmpty(panelUrl)){
|
||||
$('.menuTab[data-id="' + panelUrl + '"]', topWindow).addClass('active').siblings('.menuTab').removeClass('active');
|
||||
$('.mainContent .RuoYi_iframe', topWindow).each(function() {
|
||||
if ($(this).data('id') == panelUrl) {
|
||||
$(this).show().siblings('.RuoYi_iframe').hide();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/** 创建选项卡 */
|
||||
function createMenuItem(dataUrl, menuName) {
|
||||
var panelUrl = window.frameElement.getAttribute('data-id');
|
||||
dataIndex = $.common.random(1,100),
|
||||
flag = true;
|
||||
if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false;
|
||||
var topWindow = $(window.parent.document);
|
||||
// 选项卡菜单已存在
|
||||
$('.menuTab', topWindow).each(function() {
|
||||
if ($(this).data('id') == dataUrl) {
|
||||
if (!$(this).hasClass('active')) {
|
||||
$(this).addClass('active').siblings('.menuTab').removeClass('active');
|
||||
$('.page-tabs-content').animate({ marginLeft: ""}, "fast");
|
||||
// 显示tab对应的内容区
|
||||
$('.mainContent .RuoYi_iframe', topWindow).each(function() {
|
||||
if ($(this).data('id') == dataUrl) {
|
||||
$(this).show().siblings('.RuoYi_iframe').hide();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
flag = false;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
// 选项卡菜单不存在
|
||||
if (flag) {
|
||||
var str = '<a href="javascript:;" class="active menuTab" data-id="' + dataUrl + '" data-panel="' + panelUrl + '">' + menuName + ' <i class="fa fa-times-circle"></i></a>';
|
||||
$('.menuTab', topWindow).removeClass('active');
|
||||
|
||||
// 添加选项卡对应的iframe
|
||||
var str1 = '<iframe class="RuoYi_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" data-panel="' + panelUrl + '" seamless></iframe>';
|
||||
$('.mainContent', topWindow).find('iframe.RuoYi_iframe').hide().parents('.mainContent').append(str1);
|
||||
|
||||
window.parent.$.modal.loading("数据加载中,请稍后...");
|
||||
$('.mainContent iframe:visible', topWindow).load(function () {
|
||||
window.parent.$.modal.closeLoading();
|
||||
});
|
||||
|
||||
// 添加选项卡
|
||||
$('.menuTabs .page-tabs-content', topWindow).append(str);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//日志打印封装处理
|
||||
var log = {
|
||||
log: function(msg) {
|
||||
console.log(msg);
|
||||
},
|
||||
info: function(msg) {
|
||||
console.info(msg);
|
||||
},
|
||||
warn: function(msg) {
|
||||
console.warn(msg);
|
||||
},
|
||||
error: function(msg) {
|
||||
console.error(msg);
|
||||
}
|
||||
};
|
||||
|
||||
//本地缓存处理
|
||||
var storage = {
|
||||
set: function(key, value) {
|
||||
window.localStorage.setItem(key, value);
|
||||
},
|
||||
get: function(key) {
|
||||
return window.localStorage.getItem(key);
|
||||
},
|
||||
remove: function(key) {
|
||||
window.localStorage.removeItem(key);
|
||||
},
|
||||
clear: function() {
|
||||
window.localStorage.clear();
|
||||
}
|
||||
};
|
||||
|
||||
/** 设置全局ajax处理 */
|
||||
$.ajaxSetup({
|
||||
complete: function(XMLHttpRequest, textStatus) {
|
||||
if (textStatus == 'timeout') {
|
||||
$.modal.alertWarning("服务器超时,请稍后再试!");
|
||||
$.modal.enable();
|
||||
$.modal.closeLoading();
|
||||
} else if (textStatus == "parsererror" || textStatus == "error") {
|
||||
$.modal.alertWarning("服务器错误,请联系管理员!");
|
||||
$.modal.enable();
|
||||
$.modal.closeLoading();
|
||||
}
|
||||
}
|
||||
});
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,192 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<th:block th:include="include :: header('基本表单')" />
|
||||
<th:block th:include="include :: jquery-steps-css" />
|
||||
</head>
|
||||
<body class="gray-bg">
|
||||
<div class="wrapper wrapper-content animated fadeInRight">
|
||||
<div class="row">
|
||||
<div class="col-sm-5">
|
||||
<div class="jumbotron">
|
||||
<h1>表单向导</h1>
|
||||
<p>Smart UI 部件允许您快速创建表单向导接口。</p>
|
||||
<p><a href="https://github.com/rstaib/jquery-steps" target="_blank" class="btn btn-primary btn-lg" role="button">了解 jQuery Steps</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-7">
|
||||
<div class="ibox float-e-margins">
|
||||
<div class="ibox-title">
|
||||
<h5>基础表单向导</h5>
|
||||
</div>
|
||||
<div class="ibox-content">
|
||||
<p>
|
||||
这是一个简单的表单向导示例
|
||||
</p>
|
||||
<div id="wizard">
|
||||
<h1>第一步</h1>
|
||||
<div class="step-content">
|
||||
<div class="text-center m-t-md">
|
||||
<h2>第一步</h2>
|
||||
<p>
|
||||
这是第一步的内容
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>第二步</h1>
|
||||
<div class="step-content">
|
||||
<div class="text-center m-t-md">
|
||||
<h2>第二步</h2>
|
||||
<p>
|
||||
这是第二步的内容
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>第三步</h1>
|
||||
<div class="step-content">
|
||||
<div class="text-center m-t-md">
|
||||
<h2>第三步</h2>
|
||||
<p>
|
||||
这是第三步的内容
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="ibox">
|
||||
<div class="ibox-title">
|
||||
<h5>带验证的表单向导</h5>
|
||||
</div>
|
||||
<div class="ibox-content">
|
||||
<h2>
|
||||
带验证的表单向导
|
||||
</h2>
|
||||
<p>
|
||||
下面这个示例展示了如何在表单向导中使用 jQuery Validation 插件
|
||||
</p>
|
||||
|
||||
<form id="form" action="" class="wizard-big">
|
||||
<h1>账户</h1>
|
||||
<fieldset>
|
||||
<h2>账户信息</h2>
|
||||
<div class="row">
|
||||
<div class="col-sm-8">
|
||||
<div class="form-group">
|
||||
<label>用户名 *</label>
|
||||
<input id="userName" name="userName" type="text" class="form-control required">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>密码 *</label>
|
||||
<input id="password" name="password" type="text" class="form-control required">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>确认密码 *</label>
|
||||
<input id="confirm" name="confirm" type="text" class="form-control required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="text-center">
|
||||
<div style="margin-top: 20px">
|
||||
<i class="fa fa-sign-in" style="font-size: 180px;color: #e5e5e5 "></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
<h1>个人资料</h1>
|
||||
<fieldset>
|
||||
<h2>个人资料信息</h2>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label>姓名 *</label>
|
||||
<input id="name" name="name" type="text" class="form-control required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label>Email *</label>
|
||||
<input id="email" name="email" type="text" class="form-control required email">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>地址 *</label>
|
||||
<input id="address" name="address" type="text" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<h1>警告</h1>
|
||||
<fieldset>
|
||||
<div class="text-center" style="margin-top: 120px">
|
||||
<h2>你是火星人 :-)</h2>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<h1>完成</h1>
|
||||
<fieldset>
|
||||
<h2>条款</h2>
|
||||
<input id="acceptTerms" name="acceptTerms" type="checkbox" class="required">
|
||||
<label for="acceptTerms">我同意注册条款</label>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
<th:block th:include="include :: jquery-steps-js" />
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$("#wizard").steps();
|
||||
$("#form").steps({
|
||||
bodyTag: "fieldset", onStepChanging: function (event, currentIndex, newIndex) {
|
||||
if (currentIndex > newIndex) {
|
||||
return true
|
||||
}
|
||||
if (newIndex === 3 && Number($("#age").val()) < 18) {
|
||||
return false
|
||||
}
|
||||
var form = $(this);
|
||||
if (currentIndex < newIndex) {
|
||||
$(".body:eq(" + newIndex + ") label.error", form).remove();
|
||||
$(".body:eq(" + newIndex + ") .error", form).removeClass("error")
|
||||
}
|
||||
form.validate().settings.ignore = ":disabled,:hidden";
|
||||
return form.valid()
|
||||
}, onStepChanged: function (event, currentIndex, priorIndex) {
|
||||
if (currentIndex === 2 && Number($("#age").val()) >= 18) {
|
||||
$(this).steps("next")
|
||||
}
|
||||
if (currentIndex === 2 && priorIndex === 3) {
|
||||
$(this).steps("previous")
|
||||
}
|
||||
}, onFinishing: function (event, currentIndex) {
|
||||
var form = $(this);
|
||||
form.validate().settings.ignore = ":disabled";
|
||||
return form.valid()
|
||||
}, onFinished: function (event, currentIndex) {
|
||||
var form = $(this);
|
||||
form.submit()
|
||||
}
|
||||
}).validate({
|
||||
errorPlacement: function (error, element) {
|
||||
element.before(error)
|
||||
}, rules: {confirm: {equalTo: "#password"}}
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,84 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
||||
<head>
|
||||
<th:block th:include="include :: header('修改用户头像')" />
|
||||
<th:block th:include="include :: cropbox-css" />
|
||||
</head>
|
||||
<body class="white-bg">
|
||||
<div class="container">
|
||||
<div class="imageBox">
|
||||
<div class="thumbBox"></div>
|
||||
<div class="spinner" style="display: none">Loading...</div>
|
||||
</div>
|
||||
<div class="action">
|
||||
<div class="new-contentarea tc">
|
||||
<a href="javascript:void(0)" class="upload-img"> <label for="avatar">上传图像</label> </a>
|
||||
<input type="file" class="" name="avatar" id="avatar" accept="image/*"/>
|
||||
</div>
|
||||
<input type="button" id="btnCrop" class="Btnsty_peyton" value="裁切" />
|
||||
<input type="button" id="btnZoomIn" class="Btnsty_peyton" value="+" />
|
||||
<input type="button" id="btnZoomOut" class="Btnsty_peyton" value="-" />
|
||||
</div>
|
||||
<div class="cropped"></div>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
<th:block th:include="include :: cropbox-js" />
|
||||
<script type="text/javascript">
|
||||
var cropper;
|
||||
$(window).load(function() {
|
||||
var avatar = '[[${user.avatar}]]';
|
||||
var options = {
|
||||
thumbBox: '.thumbBox',
|
||||
spinner: '.spinner',
|
||||
imgSrc: $.common.isEmpty(avatar) ? ctx + 'img/profile.jpg' : ctx + avatar.substr(1)
|
||||
}
|
||||
cropper = $('.imageBox').cropbox(options);
|
||||
$('#avatar').on('change', function() {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function(e) {
|
||||
options.imgSrc = e.target.result;
|
||||
//根据MIME判断上传的文件是不是图片类型
|
||||
if((options.imgSrc).indexOf("image/")==-1){
|
||||
$.modal.alertWarning("文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。");
|
||||
} else {
|
||||
cropper = $('.imageBox').cropbox(options);
|
||||
}
|
||||
}
|
||||
reader.readAsDataURL(this.files[0]);
|
||||
})
|
||||
|
||||
$('#btnCrop').on('click', function(){
|
||||
var img = cropper.getDataURL();
|
||||
$('.cropped').html('');
|
||||
$('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:64px;margin-top:4px;border-radius:64px;box-shadow:0px 0px 12px #7E7E7E;" ><p>64px*64px</p>');
|
||||
$('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:128px;margin-top:4px;border-radius:128px;box-shadow:0px 0px 12px #7E7E7E;"><p>128px*128px</p>');
|
||||
$('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:180px;margin-top:4px;border-radius:180px;box-shadow:0px 0px 12px #7E7E7E;"><p>180px*180px</p>');
|
||||
})
|
||||
|
||||
$('#btnZoomIn').on('click', function(){
|
||||
cropper.zoomIn();
|
||||
})
|
||||
|
||||
$('#btnZoomOut').on('click', function(){
|
||||
cropper.zoomOut();
|
||||
})
|
||||
});
|
||||
|
||||
function submitHandler() {
|
||||
var img = cropper.getBlob();
|
||||
var formdata = new FormData();
|
||||
formdata.append("avatarfile", img);
|
||||
$.ajax({
|
||||
url: ctx + "system/user/profile/updateAvatar",
|
||||
data: formdata,
|
||||
type: "post",
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(result) {
|
||||
$.operate.saveSuccess(result);
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
||||
<head>
|
||||
<th:block th:include="include :: header('修改用户密码')" />
|
||||
</head>
|
||||
<body class="white-bg">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-user-resetPwd">
|
||||
<input name="userId" type="hidden" th:value="${user.userId}" />
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label ">登录名称:</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="text" readonly="true" name="loginName" th:value="${user.loginName}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">旧密码:</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="password" name="oldPassword" id="oldPassword">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">新密码:</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="password" name="newPassword" id="newPassword">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">再次确认:</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="password" name="confirm" id="confirm">
|
||||
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 请再次输入您的密码</span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
|
||||
<script>
|
||||
$("#form-user-resetPwd").validate({
|
||||
rules:{
|
||||
oldPassword:{
|
||||
required:true,
|
||||
remote: {
|
||||
url: ctx + "system/user/profile/checkPassword",
|
||||
type: "get",
|
||||
dataType: "json",
|
||||
data: {
|
||||
password: function() {
|
||||
return $("input[name='oldPassword']").val();
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
newPassword: {
|
||||
required: true,
|
||||
minlength: 5,
|
||||
maxlength: 20
|
||||
},
|
||||
confirm: {
|
||||
required: true,
|
||||
equalTo: "#newPassword"
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
oldPassword: {
|
||||
required: "请输入原密码",
|
||||
remote: "原密码错误"
|
||||
},
|
||||
newPassword: {
|
||||
required: "请输入新密码",
|
||||
minlength: "密码不能小于6个字符",
|
||||
maxlength: "密码不能大于20个字符"
|
||||
},
|
||||
confirm: {
|
||||
required: "请再次输入新密码",
|
||||
equalTo: "两次密码输入不一致"
|
||||
}
|
||||
|
||||
},
|
||||
focusCleanup: true
|
||||
});
|
||||
|
||||
function submitHandler() {
|
||||
if ($.validate.form()) {
|
||||
$.operate.save(ctx + "system/user/profile/resetPwd", $('#form-user-resetPwd').serialize());
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,28 +0,0 @@
|
||||
package com.ruoyi;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
|
||||
/**
|
||||
* @author hupeng <610796224@qq.com>
|
||||
*/
|
||||
@SpringBootApplication
|
||||
//@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
|
||||
@MapperScan(basePackages = {"com.ruoyi.app.common.persistence.dao","com.ruoyi.app.modular.*.dao"})
|
||||
public class LightSecurityApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(LightSecurityApplication.class, args);
|
||||
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
|
||||
" .-------. ____ __ \n" +
|
||||
" | _ _ \\ \\ \\ / / \n" +
|
||||
" | ( ' ) | \\ _. / ' \n" +
|
||||
" |(_ o _) / _( )_ .' \n" +
|
||||
" | (_,_).' __ ___(_ o _)' \n" +
|
||||
" | |\\ \\ | || |(_,_)' \n" +
|
||||
" | | \\ `' /| `-' / \n" +
|
||||
" | | \\ / \\ / \n" +
|
||||
" ''-' `'-' `-..-' ");
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package com.ruoyi.app.common.constant;
|
||||
|
||||
|
||||
public interface CacheKey {
|
||||
|
||||
}
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
package com.ruoyi.app.common.persistence.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.app.common.persistence.model.StoreGoods;
|
||||
import com.ruoyi.app.common.persistence.model.StoreGoodsCollect;
|
||||
import com.ruoyi.app.modular.shop.service.dto.GoodsDTO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品收藏表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hupeng
|
||||
* @since 2019-09-07
|
||||
*/
|
||||
@Mapper
|
||||
public interface StoreGoodsCollectMapper extends BaseMapper<StoreGoodsCollect> {
|
||||
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
package com.ruoyi.app.modular.member.service;
|
||||
|
||||
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.app.common.persistence.model.StoreMemberAddress;
|
||||
import com.ruoyi.app.modular.member.service.dto.AddressDTO;
|
||||
import com.ruoyi.app.modular.member.service.vo.AddressVO;
|
||||
import com.ruoyi.app.modular.shop.service.vo.PageVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IAddressService extends IService<StoreMemberAddress> {
|
||||
|
||||
List<AddressDTO> getList(PageVO pageVO,int userId);
|
||||
|
||||
boolean addAndEdit(AddressVO addressVO,int userId);
|
||||
|
||||
AddressDTO findDefault(int userId);
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.ruoyi.app.modular.member.service;
|
||||
|
||||
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.app.common.persistence.model.StoreMember;
|
||||
import com.ruoyi.app.modular.member.service.dto.MemberDTO;
|
||||
import com.ruoyi.app.modular.shop.service.dto.CouponDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IMemberService extends IService<StoreMember> {
|
||||
StoreMember login(String openid);
|
||||
|
||||
List<MemberDTO> memeberList();
|
||||
|
||||
List<CouponDTO> couponList(int userId,double orderTotalPrice);
|
||||
|
||||
}
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
package com.ruoyi.app.modular.member.service.mapper;
|
||||
|
||||
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.StoreMemberAddress;
|
||||
import com.ruoyi.app.modular.mapper.EntityMapper;
|
||||
import com.ruoyi.app.modular.member.service.dto.AddressDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-06-05
|
||||
*/
|
||||
@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface AddressMapper extends EntityMapper<AddressDTO, StoreMemberAddress> {
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.ruoyi.app.modular.member.service.mapper;
|
||||
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.StoreMember;
|
||||
import com.ruoyi.app.modular.mapper.EntityMapper;
|
||||
import com.ruoyi.app.modular.member.service.dto.MemberDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-06-05
|
||||
*/
|
||||
@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface MemberMapper extends EntityMapper<MemberDTO, StoreMember> {
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service;
|
||||
|
||||
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.app.common.persistence.model.StoreAds;
|
||||
import com.ruoyi.app.modular.shop.service.dto.AdsDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface IAdService extends IService<StoreAds> {
|
||||
List<AdsDTO> getList();
|
||||
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.impl;
|
||||
|
||||
|
||||
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.app.common.persistence.dao.*;
|
||||
import com.ruoyi.app.common.persistence.model.*;
|
||||
import com.ruoyi.app.modular.shop.service.IOrderGoodsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
@Service
|
||||
public class OrderGoodsServiceImpl extends ServiceImpl<StoreOrderGoodsMapper, StoreOrderGoods> implements IOrderGoodsService {
|
||||
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.impl;
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.StoreGoodsAttr;
|
||||
import com.ruoyi.app.common.persistence.dao.StoreGoodsAttrMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.app.modular.shop.service.IStoreGoodsAttrService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品关联的属性表(与商品相关) 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hupeng
|
||||
* @since 2019-09-07
|
||||
*/
|
||||
@Service
|
||||
public class StoreGoodsAttrServiceImpl extends ServiceImpl<StoreGoodsAttrMapper, StoreGoodsAttr> implements IStoreGoodsAttrService {
|
||||
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.app.common.persistence.model.StoreGoodsAttribute;
|
||||
import com.ruoyi.app.common.persistence.dao.StoreGoodsAttributeMapper;
|
||||
import com.ruoyi.app.modular.shop.service.IStoreGoodsAttributeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品的属性表(独立) 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hupeng
|
||||
* @since 2019-09-07
|
||||
*/
|
||||
@Service
|
||||
public class StoreGoodsAttributeServiceImpl extends ServiceImpl<StoreGoodsAttributeMapper, StoreGoodsAttribute> implements IStoreGoodsAttributeService {
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.mapper;
|
||||
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.StoreAds;
|
||||
import com.ruoyi.app.modular.mapper.EntityMapper;
|
||||
import com.ruoyi.app.modular.shop.service.dto.AdsDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-09-07
|
||||
*/
|
||||
@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface AdsMapper extends EntityMapper<AdsDTO, StoreAds> {
|
||||
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.mapper;
|
||||
|
||||
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.StoreCart;
|
||||
import com.ruoyi.app.modular.mapper.EntityMapper;
|
||||
import com.ruoyi.app.modular.shop.service.dto.CartAttrDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-09-10
|
||||
*/
|
||||
@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface CartMapper extends EntityMapper<CartAttrDTO, StoreCart> {
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.mapper;
|
||||
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.StoreGoodsCate;
|
||||
import com.ruoyi.app.modular.mapper.EntityMapper;
|
||||
import com.ruoyi.app.modular.shop.service.dto.CateDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-09-07
|
||||
*/
|
||||
@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface CateMapper extends EntityMapper<CateDTO, StoreGoodsCate> {
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.mapper;
|
||||
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.StoreGoods;
|
||||
import com.ruoyi.app.modular.mapper.EntityMapper;
|
||||
import com.ruoyi.app.modular.shop.service.dto.GoodsDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-09-07
|
||||
*/
|
||||
@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface GoodsMapper extends EntityMapper<GoodsDTO, StoreGoods> {
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.mapper;
|
||||
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.WechatNewsArticle;
|
||||
import com.ruoyi.app.modular.mapper.EntityMapper;
|
||||
import com.ruoyi.app.modular.shop.service.dto.NewsDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-09-07
|
||||
*/
|
||||
@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface NewsMapper extends EntityMapper<NewsDTO, WechatNewsArticle> {
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.ruoyi.app.modular.shop.service.mapper;
|
||||
|
||||
|
||||
import com.ruoyi.app.common.persistence.model.StoreOrder;
|
||||
import com.ruoyi.app.modular.mapper.EntityMapper;
|
||||
import com.ruoyi.app.modular.shop.service.dto.OrderDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-09-07
|
||||
*/
|
||||
@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface OrderMapper extends EntityMapper<OrderDTO, StoreOrder> {
|
||||
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<version>4.1.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
|
||||
<description>
|
||||
common通用工具
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- Spring框架基本的核心工具 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context-support</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- SpringWeb模块 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--Shiro核心框架 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- pagehelper 分页插件 -->
|
||||
<dependency>
|
||||
<groupId>com.github.pagehelper</groupId>
|
||||
<artifactId>pagehelper-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 自定义验证注解 -->
|
||||
<dependency>
|
||||
<groupId>javax.validation</groupId>
|
||||
<artifactId>validation-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--常用工具类 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- JSON工具类 -->
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 阿里JSON解析器 -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- io常用工具类 -->
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 文件上传工具类 -->
|
||||
<dependency>
|
||||
<groupId>commons-fileupload</groupId>
|
||||
<artifactId>commons-fileupload</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- excel工具 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- yml解析器 -->
|
||||
<dependency>
|
||||
<groupId>org.yaml</groupId>
|
||||
<artifactId>snakeyaml</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- servlet包 -->
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -1,54 +0,0 @@
|
||||
package com.ruoyi.common.utils;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import com.ruoyi.common.config.Global;
|
||||
import com.ruoyi.common.json.JSON;
|
||||
import com.ruoyi.common.json.JSONObject;
|
||||
import com.ruoyi.common.utils.http.HttpUtils;
|
||||
|
||||
/**
|
||||
* 获取地址类
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public class AddressUtils
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
|
||||
|
||||
public static final String IP_URL = "http://ip.taobao.com/service/getIpInfo.php";
|
||||
|
||||
public static String getRealAddressByIP(String ip)
|
||||
{
|
||||
String address = "XX XX";
|
||||
|
||||
// 内网不查询
|
||||
if (IpUtils.internalIp(ip))
|
||||
{
|
||||
return "内网IP";
|
||||
}
|
||||
if (Global.isAddressEnabled())
|
||||
{
|
||||
String rspStr = HttpUtils.sendPost(IP_URL, "ip=" + ip);
|
||||
if (StringUtils.isEmpty(rspStr))
|
||||
{
|
||||
log.error("获取地理位置异常 {}", ip);
|
||||
return address;
|
||||
}
|
||||
JSONObject obj;
|
||||
try
|
||||
{
|
||||
obj = JSON.unmarshal(rspStr, JSONObject.class);
|
||||
JSONObject data = obj.getObj("data");
|
||||
String region = data.getStr("region");
|
||||
String city = data.getStr("city");
|
||||
address = region + " " + city;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.error("获取地理位置异常 {}", ip);
|
||||
}
|
||||
}
|
||||
return address;
|
||||
}
|
||||
}
|
||||
@@ -1,98 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<version>4.1.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>ruoyi-framework</artifactId>
|
||||
|
||||
<description>
|
||||
framework框架核心
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- SpringBoot Web容器 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- SpringBoot 拦截器 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--阿里数据库连接池 -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--验证码 -->
|
||||
<dependency>
|
||||
<groupId>com.github.penggle</groupId>
|
||||
<artifactId>kaptcha</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
<groupId>javax.servlet</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Shiro使用Srping框架 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-spring</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Shiro使用EhCache缓存框架 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-ehcache</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- thymeleaf模板引擎和shiro框架的整合 -->
|
||||
<dependency>
|
||||
<groupId>com.github.theborakompanioni</groupId>
|
||||
<artifactId>thymeleaf-extras-shiro</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 解析客户端操作系统、浏览器等 -->
|
||||
<dependency>
|
||||
<groupId>eu.bitwalker</groupId>
|
||||
<artifactId>UserAgentUtils</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 系统模块-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-system</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 获取系统信息 -->
|
||||
<dependency>
|
||||
<groupId>com.github.oshi</groupId>
|
||||
<artifactId>oshi-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.java.dev.jna</groupId>
|
||||
<artifactId>jna</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.java.dev.jna</groupId>
|
||||
<artifactId>jna-platform</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -1,159 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
||||
<head>
|
||||
<th:block th:include="include :: header('新增${functionName}')" />
|
||||
#foreach($column in $columns)
|
||||
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "datetime")
|
||||
<th:block th:include="include :: datetimepicker-css" />
|
||||
#break
|
||||
#end
|
||||
#end
|
||||
</head>
|
||||
<body class="white-bg">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-${businessName}-add">
|
||||
#foreach($column in $columns)
|
||||
#set($field=$column.javaField)
|
||||
#if($column.insert && !$column.pk)
|
||||
#if(($column.usableColumn) || (!$column.superColumn))
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#set($dictType=$column.dictType)
|
||||
#if("" != $treeParentCode && $column.javaField == $treeParentCode)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
#set($BusinessName=$businessName.substring(0,1).toUpperCase() + ${businessName.substring(1)})
|
||||
#set($treeId = "${className}?.${treeCode}")
|
||||
<input id="treeId" name="${treeParentCode}" type="hidden" th:value="${${treeId}}"/>
|
||||
<input class="form-control" type="text" onclick="select${BusinessName}Tree()" id="treeName" readonly="true" th:value="${${treeName}}"#if($column.required) required#end>
|
||||
<span class="input-group-addon"><i class="fa fa-search"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "input")
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="${field}" class="form-control" type="text"#if($column.required) required#end>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "select" && "" != $dictType)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<select name="${field}" class="form-control m-b" th:with="type=${@dict.getType('${dictType}')}"#if($column.required) required#end>
|
||||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "select" && $dictType)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<select name="${field}" class="form-control m-b"#if($column.required) required#end>
|
||||
<option value="">所有</option>
|
||||
</select>
|
||||
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "radio" && "" != $dictType)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="radio-box" th:each="dict : ${@dict.getType('${dictType}')}">
|
||||
<input type="radio" th:id="${'${field}_' + dict.dictCode}" name="${field}" th:value="${dict.dictValue}" th:checked="${dict.default}"#if($column.required) required#end>
|
||||
<label th:for="${'${field}_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "radio" && $dictType)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="radio-box">
|
||||
<input type="radio" name="${field}" value=""#if($column.required) required#end>
|
||||
<label th:for="${field}" th:text="未知"></label>
|
||||
</div>
|
||||
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "datetime")
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group date">
|
||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||
<input name="${field}" class="form-control" placeholder="yyyy-MM-dd" type="text"#if($column.required) required#end>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "textarea")
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<textarea name="${field}" class="form-control"#if($column.required) required#end></textarea>
|
||||
</div>
|
||||
</div>
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
#foreach($column in $columns)
|
||||
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "datetime")
|
||||
<th:block th:include="include :: datetimepicker-js" />
|
||||
#break
|
||||
#end
|
||||
#end
|
||||
<script type="text/javascript">
|
||||
var prefix = ctx + "${moduleName}/${businessName}"
|
||||
$("#form-${businessName}-add").validate({
|
||||
focusCleanup: true
|
||||
});
|
||||
|
||||
function submitHandler() {
|
||||
if ($.validate.form()) {
|
||||
$.operate.save(prefix + "/add", $('#form-${businessName}-add').serialize());
|
||||
}
|
||||
}
|
||||
#foreach($column in $columns)
|
||||
#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "datetime")
|
||||
|
||||
$("input[name='$column.javaField']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true
|
||||
});
|
||||
#end
|
||||
#end
|
||||
#if($table.tree)
|
||||
|
||||
/*${functionName}-新增-选择父部门树*/
|
||||
function select${BusinessName}Tree() {
|
||||
var options = {
|
||||
title: '${functionName}选择',
|
||||
width: "380",
|
||||
url: prefix + "/select${BusinessName}Tree/" + $("#treeId").val(),
|
||||
callBack: doSubmit
|
||||
};
|
||||
$.modal.openOptions(options);
|
||||
}
|
||||
|
||||
function doSubmit(index, layero){
|
||||
var body = layer.getChildFrame('body', index);
|
||||
$("#treeId").val(body.find('#treeId').val());
|
||||
$("#treeName").val(body.find('#treeName').val());
|
||||
layer.close(index);
|
||||
}
|
||||
#end
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,159 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
||||
<head>
|
||||
<th:block th:include="include :: header('修改${functionName}')" />
|
||||
#foreach($column in $columns)
|
||||
#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "datetime")
|
||||
<th:block th:include="include :: datetimepicker-css" />
|
||||
#break
|
||||
#end
|
||||
#end
|
||||
</head>
|
||||
<body class="white-bg">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-${businessName}-edit" th:object="${${className}}">
|
||||
<input name="${pkColumn.javaField}" th:field="*{${pkColumn.javaField}}" type="hidden">
|
||||
#foreach($column in $columns)
|
||||
#if($column.edit && !$column.pk)
|
||||
#if(($column.usableColumn) || (!$column.superColumn))
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#set($field=$column.javaField)
|
||||
#set($dictType=$column.dictType)
|
||||
#if("" != $treeParentCode && $column.javaField == $treeParentCode)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
#set($BusinessName=$businessName.substring(0,1).toUpperCase() + ${businessName.substring(1)})
|
||||
<input id="treeId" name="${treeParentCode}" type="hidden" th:field="*{${treeParentCode}}" />
|
||||
<input class="form-control" type="text" onclick="select${BusinessName}Tree()" id="treeName" readonly="true" th:field="*{parentName}"#if($column.required) required#end>
|
||||
<span class="input-group-addon"><i class="fa fa-search"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "input")
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="${field}" th:field="*{${field}}" class="form-control" type="text"#if($column.required) required#end>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "select" && "" != $dictType)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<select name="${field}" class="form-control m-b" th:with="type=${@dict.getType('${dictType}')}"#if($column.required) required#end>
|
||||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{${field}}"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "select" && $dictType)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<select name="${field}" class="form-control m-b"#if($column.required) required#end>
|
||||
<option value="">所有</option>
|
||||
</select>
|
||||
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "radio" && "" != $dictType)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="radio-box" th:each="dict : ${@dict.getType('${dictType}')}">
|
||||
<input type="radio" th:id="${'${field}_' + dict.dictCode}" name="${field}" th:value="${dict.dictValue}" th:field="*{${field}}"#if($column.required) required#end>
|
||||
<label th:for="${'${field}_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "radio" && $dictType)
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="radio-box">
|
||||
<input type="radio" name="${field}" value=""#if($column.required) required#end>
|
||||
<label th:for="${field}" th:text="未知"></label>
|
||||
</div>
|
||||
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "datetime")
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group date">
|
||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||
<input name="${field}" th:value="${#dates.format(${className}.${field}, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text"#if($column.required) required#end>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
#elseif($column.htmlType == "textarea")
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">${comment}:</label>
|
||||
<div class="col-sm-8">
|
||||
<textarea name="${field}" class="form-control"#if($column.required) required#end>[[*{${field}}]]</textarea>
|
||||
</div>
|
||||
</div>
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
#foreach($column in $columns)
|
||||
#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "datetime")
|
||||
<th:block th:include="include :: datetimepicker-js" />
|
||||
#break
|
||||
#end
|
||||
#end
|
||||
<script type="text/javascript">
|
||||
var prefix = ctx + "${moduleName}/${businessName}";
|
||||
$("#form-${businessName}-edit").validate({
|
||||
focusCleanup: true
|
||||
});
|
||||
|
||||
function submitHandler() {
|
||||
if ($.validate.form()) {
|
||||
$.operate.save(prefix + "/edit", $('#form-${businessName}-edit').serialize());
|
||||
}
|
||||
}
|
||||
#foreach($column in $columns)
|
||||
#if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "datetime")
|
||||
|
||||
$("input[name='$column.javaField']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true
|
||||
});
|
||||
#end
|
||||
#end
|
||||
#if($table.tree)
|
||||
|
||||
/*${functionName}-新增-选择父部门树*/
|
||||
function select${BusinessName}Tree() {
|
||||
var options = {
|
||||
title: '${functionName}选择',
|
||||
width: "380",
|
||||
url: prefix + "/select${BusinessName}Tree/" + $("#treeId").val(),
|
||||
callBack: doSubmit
|
||||
};
|
||||
$.modal.openOptions(options);
|
||||
}
|
||||
|
||||
function doSubmit(index, layero){
|
||||
var body = layer.getChildFrame('body', index);
|
||||
$("#treeId").val(body.find('#treeId').val());
|
||||
$("#treeName").val(body.find('#treeName').val());
|
||||
layer.close(index);
|
||||
}
|
||||
#end
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,22 +0,0 @@
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values('${functionName}', '3', '1', '/${moduleName}/${businessName}', 'C', '0', '${permissionPrefix}:view', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '${functionName}菜单');
|
||||
|
||||
-- 按钮父菜单ID
|
||||
SELECT @parentId := LAST_INSERT_ID();
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values('${functionName}查询', @parentId, '1', '#', 'F', '0', '${permissionPrefix}:list', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
|
||||
|
||||
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values('${functionName}新增', @parentId, '2', '#', 'F', '0', '${permissionPrefix}:add', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
|
||||
|
||||
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values('${functionName}修改', @parentId, '3', '#', 'F', '0', '${permissionPrefix}:edit', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
|
||||
|
||||
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values('${functionName}删除', @parentId, '4', '#', 'F', '0', '${permissionPrefix}:remove', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
|
||||
|
||||
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values('${functionName}导出', @parentId, '5', '#', 'F', '0', '${permissionPrefix}:export', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
|
||||
@@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<version>4.1.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>ruoyi-quartz</artifactId>
|
||||
|
||||
<description>
|
||||
quartz定时任务
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- 定时任务 -->
|
||||
<dependency>
|
||||
<groupId>org.quartz-scheduler</groupId>
|
||||
<artifactId>quartz</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.mchange</groupId>
|
||||
<artifactId>c3p0</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- 通用工具-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<version>4.1.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>ruoyi-system</artifactId>
|
||||
|
||||
<description>
|
||||
system系统模块
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- Mysql驱动包 -->
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 通用工具-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -1,118 +0,0 @@
|
||||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.system.domain.SysConfig;
|
||||
import com.ruoyi.system.mapper.SysConfigMapper;
|
||||
import com.ruoyi.system.service.ISysConfigService;
|
||||
|
||||
/**
|
||||
* 参数配置 服务层实现
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Service
|
||||
public class SysConfigServiceImpl implements ISysConfigService
|
||||
{
|
||||
@Autowired
|
||||
private SysConfigMapper configMapper;
|
||||
|
||||
/**
|
||||
* 查询参数配置信息
|
||||
*
|
||||
* @param configId 参数配置ID
|
||||
* @return 参数配置信息
|
||||
*/
|
||||
@Override
|
||||
public SysConfig selectConfigById(Long configId)
|
||||
{
|
||||
SysConfig config = new SysConfig();
|
||||
config.setConfigId(configId);
|
||||
return configMapper.selectConfig(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据键名查询参数配置信息
|
||||
*
|
||||
* @param configKey 参数key
|
||||
* @return 参数键值
|
||||
*/
|
||||
@Override
|
||||
public String selectConfigByKey(String configKey)
|
||||
{
|
||||
SysConfig config = new SysConfig();
|
||||
config.setConfigKey(configKey);
|
||||
SysConfig retConfig = configMapper.selectConfig(config);
|
||||
return StringUtils.isNotNull(retConfig) ? retConfig.getConfigValue() : "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询参数配置列表
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 参数配置集合
|
||||
*/
|
||||
@Override
|
||||
public List<SysConfig> selectConfigList(SysConfig config)
|
||||
{
|
||||
return configMapper.selectConfigList(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertConfig(SysConfig config)
|
||||
{
|
||||
return configMapper.insertConfig(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateConfig(SysConfig config)
|
||||
{
|
||||
return configMapper.updateConfig(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除参数配置对象
|
||||
*
|
||||
* @param ids 需要删除的数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteConfigByIds(String ids)
|
||||
{
|
||||
return configMapper.deleteConfigByIds(Convert.toStrArray(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验参数键名是否唯一
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public String checkConfigKeyUnique(SysConfig config)
|
||||
{
|
||||
Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId();
|
||||
SysConfig info = configMapper.checkConfigKeyUnique(config.getConfigKey());
|
||||
if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue())
|
||||
{
|
||||
return UserConstants.CONFIG_KEY_NOT_UNIQUE;
|
||||
}
|
||||
return UserConstants.CONFIG_KEY_UNIQUE;
|
||||
}
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
import com.ruoyi.system.domain.SysDictData;
|
||||
import com.ruoyi.system.mapper.SysDictDataMapper;
|
||||
import com.ruoyi.system.service.ISysDictDataService;
|
||||
|
||||
/**
|
||||
* 字典 业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Service
|
||||
public class SysDictDataServiceImpl implements ISysDictDataService
|
||||
{
|
||||
@Autowired
|
||||
private SysDictDataMapper dictDataMapper;
|
||||
|
||||
/**
|
||||
* 根据条件分页查询字典数据
|
||||
*
|
||||
* @param dictData 字典数据信息
|
||||
* @return 字典数据集合信息
|
||||
*/
|
||||
@Override
|
||||
public List<SysDictData> selectDictDataList(SysDictData dictData)
|
||||
{
|
||||
return dictDataMapper.selectDictDataList(dictData);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据字典类型查询字典数据
|
||||
*
|
||||
* @param dictType 字典类型
|
||||
* @return 字典数据集合信息
|
||||
*/
|
||||
@Override
|
||||
public List<SysDictData> selectDictDataByType(String dictType)
|
||||
{
|
||||
return dictDataMapper.selectDictDataByType(dictType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据字典类型和字典键值查询字典数据信息
|
||||
*
|
||||
* @param dictType 字典类型
|
||||
* @param dictValue 字典键值
|
||||
* @return 字典标签
|
||||
*/
|
||||
@Override
|
||||
public String selectDictLabel(String dictType, String dictValue)
|
||||
{
|
||||
return dictDataMapper.selectDictLabel(dictType, dictValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据字典数据ID查询信息
|
||||
*
|
||||
* @param dictCode 字典数据ID
|
||||
* @return 字典数据
|
||||
*/
|
||||
@Override
|
||||
public SysDictData selectDictDataById(Long dictCode)
|
||||
{
|
||||
return dictDataMapper.selectDictDataById(dictCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过字典ID删除字典数据信息
|
||||
*
|
||||
* @param dictCode 字典数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteDictDataById(Long dictCode)
|
||||
{
|
||||
return dictDataMapper.deleteDictDataById(dictCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除字典数据
|
||||
*
|
||||
* @param ids 需要删除的数据
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteDictDataByIds(String ids)
|
||||
{
|
||||
return dictDataMapper.deleteDictDataByIds(Convert.toStrArray(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保存字典数据信息
|
||||
*
|
||||
* @param dictData 字典数据信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertDictData(SysDictData dictData)
|
||||
{
|
||||
return dictDataMapper.insertDictData(dictData);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保存字典数据信息
|
||||
*
|
||||
* @param dictData 字典数据信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateDictData(SysDictData dictData)
|
||||
{
|
||||
return dictDataMapper.updateDictData(dictData);
|
||||
}
|
||||
}
|
||||
-2890
File diff suppressed because it is too large.
Load diff
-4851
File diff suppressed because it is too large.
Load diff
@@ -5,13 +5,13 @@
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 50723
|
||||
Source Host : localhost:3306
|
||||
Source Schema : ruoyi
|
||||
Source Schema : supply_shop
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 50723
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 24/09/2019 15:56:04
|
||||
Date: 18/06/2021 17:13:56
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
@@ -25,6 +25,8 @@ CREATE TABLE `gen_table` (
|
||||
`table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
|
||||
`table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表名称',
|
||||
`table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表描述',
|
||||
`sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '实体类名称',
|
||||
`tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)',
|
||||
`package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成包路径',
|
||||
@@ -32,6 +34,8 @@ CREATE TABLE `gen_table` (
|
||||
`business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成业务名',
|
||||
`function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成功能名',
|
||||
`function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成功能作者',
|
||||
`gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0',
|
||||
`gen_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '/',
|
||||
`options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其它生成选项',
|
||||
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
@@ -44,21 +48,21 @@ CREATE TABLE `gen_table` (
|
||||
-- ----------------------------
|
||||
-- Records of gen_table
|
||||
-- ----------------------------
|
||||
INSERT INTO `gen_table` VALUES (1, 'store_goods_cate', '商城商品分类', 'StoreGoodsCate', 'tree', 'com.ruoyi.shop', 'shop', 'cate', '商城商品分类', 'hupeng', '{\"treeName\":\"cate_title\",\"treeParentCode\":\"pid\",\"treeCode\":\"id\"}', 'admin', '2019-08-22 09:59:25', '', '2019-08-22 11:04:52', '');
|
||||
INSERT INTO `gen_table` VALUES (2, 'store_goods_brand', '产品品牌', 'StoreGoodsBrand', 'crud', 'com.ruoyi.shop', 'shop', 'brand', '产品品牌', 'hupeng', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-23 18:21:24', '', '2019-08-23 18:24:11', '');
|
||||
INSERT INTO `gen_table` VALUES (3, 'store_goods_type', '商品类型(商品模型)表', 'StoreGoodsType', 'crud', 'com.ruoyi.shop', 'shop', 'type', '商品类型(商品模型)', 'hupeng', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-24 14:16:00', '', '2019-08-24 14:16:23', '');
|
||||
INSERT INTO `gen_table` VALUES (4, 'store_goods_attribute', '商品的属性表(独立)', 'StoreGoodsAttribute', 'crud', 'com.ruoyi.shop', 'shop', 'attribute', '商品的属性(独立)', 'hupeng', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-24 14:44:41', '', '2019-08-24 14:47:04', '');
|
||||
INSERT INTO `gen_table` VALUES (5, 'store_spec', '商品规格表(独立)', 'StoreSpec', 'crud', 'com.ruoyi.shop', 'shop', 'spec', '商品规格(独立)', 'hupeng', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-25 09:40:12', '', '2019-08-25 09:45:36', '');
|
||||
INSERT INTO `gen_table` VALUES (6, 'store_spec_goods_price', '商品规格关联价格表', 'StoreSpecGoodsPrice', 'crud', 'com.ruoyi.shop', 'shop', 'price', '商品规格关联价格', 'hupeng', NULL, 'admin', '2019-08-25 09:40:12', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (7, 'store_spec_item', '规格项', 'StoreSpecItem', 'crud', 'com.ruoyi.shop', 'shop', 'item', '规格项', 'hupeng', NULL, 'admin', '2019-08-25 09:40:12', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (8, 'store_goods', '商品主表', 'StoreGoods', 'crud', 'com.ruoyi.shop', 'shop', 'goods', '商品主', 'hupeng', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-25 14:00:14', '', '2019-08-25 14:14:00', '');
|
||||
INSERT INTO `gen_table` VALUES (9, 'store_goods_attr', '商品关联的属性表(与商品相关)', 'StoreGoodsAttr', 'crud', 'com.ruoyi.shop', 'shop', 'attr', '商品关联的属性(与商品相关)', 'hupeng', NULL, 'admin', '2019-08-26 13:38:54', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (10, 'store_coupon', '优惠券主表', 'StoreCoupon', 'crud', 'com.ruoyi.shop', 'shop', 'coupon', '优惠券主', 'hupeng', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-29 19:16:19', '', '2019-08-29 19:22:06', '');
|
||||
INSERT INTO `gen_table` VALUES (11, 'store_coupon_list', '优惠券记录表', 'StoreCouponList', 'crud', 'com.ruoyi.shop', 'shop', 'list', '优惠券记录', 'hupeng', NULL, 'admin', '2019-08-29 19:16:19', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (12, 'store_order', '订单主表', 'StoreOrder', 'crud', 'com.ruoyi.shop', 'shop', 'order', '订单主', 'hupeng', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-29 19:45:09', '', '2019-08-29 19:53:53', '');
|
||||
INSERT INTO `gen_table` VALUES (13, 'store_order_goods', '订单商品表与订单主表关联', 'StoreOrderGoods', 'crud', 'com.ruoyi.shop', 'shop', 'goods', '订单商品与订单主关联', 'hupeng', NULL, 'admin', '2019-08-29 19:45:10', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (14, 'store_order_goods_remark', '订单商品备注表', 'StoreOrderGoodsRemark', 'crud', 'com.ruoyi.shop', 'shop', 'remark', '订单商品备注', 'hupeng', NULL, 'admin', '2019-08-29 19:45:10', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (15, 'store_member', '商城会员信息', 'StoreMember', 'crud', 'com.ruoyi.shop', 'shop', 'member', '商城会员信息', 'hupeng', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-30 13:40:31', '', '2019-08-30 13:44:56', '');
|
||||
INSERT INTO `gen_table` VALUES (1, 'store_goods_cate', '商城商品分类', NULL, NULL, 'StoreGoodsCate', 'tree', 'com.ruoyi.shop', 'shop', 'cate', '商城商品分类', 'hupeng', '0', '/', '{\"treeName\":\"cate_title\",\"treeParentCode\":\"pid\",\"treeCode\":\"id\"}', 'admin', '2019-08-22 09:59:25', '', '2019-08-22 11:04:52', '');
|
||||
INSERT INTO `gen_table` VALUES (2, 'store_goods_brand', '产品品牌', NULL, NULL, 'StoreGoodsBrand', 'crud', 'com.ruoyi.shop', 'shop', 'brand', '产品品牌', 'hupeng', '0', '/', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-23 18:21:24', '', '2019-08-23 18:24:11', '');
|
||||
INSERT INTO `gen_table` VALUES (3, 'store_goods_type', '商品类型(商品模型)表', NULL, NULL, 'StoreGoodsType', 'crud', 'com.ruoyi.shop', 'shop', 'type', '商品类型(商品模型)', 'hupeng', '0', '/', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-24 14:16:00', '', '2019-08-24 14:16:23', '');
|
||||
INSERT INTO `gen_table` VALUES (4, 'store_goods_attribute', '商品的属性表(独立)', NULL, NULL, 'StoreGoodsAttribute', 'crud', 'com.ruoyi.shop', 'shop', 'attribute', '商品的属性(独立)', 'hupeng', '0', '/', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-24 14:44:41', '', '2019-08-24 14:47:04', '');
|
||||
INSERT INTO `gen_table` VALUES (5, 'store_spec', '商品规格表(独立)', NULL, NULL, 'StoreSpec', 'crud', 'com.ruoyi.shop', 'shop', 'spec', '商品规格(独立)', 'hupeng', '0', '/', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-25 09:40:12', '', '2019-08-25 09:45:36', '');
|
||||
INSERT INTO `gen_table` VALUES (6, 'store_spec_goods_price', '商品规格关联价格表', NULL, NULL, 'StoreSpecGoodsPrice', 'crud', 'com.ruoyi.shop', 'shop', 'price', '商品规格关联价格', 'hupeng', '0', '/', NULL, 'admin', '2019-08-25 09:40:12', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (7, 'store_spec_item', '规格项', NULL, NULL, 'StoreSpecItem', 'crud', 'com.ruoyi.shop', 'shop', 'item', '规格项', 'hupeng', '0', '/', NULL, 'admin', '2019-08-25 09:40:12', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (8, 'store_goods', '商品主表', NULL, NULL, 'StoreGoods', 'crud', 'com.ruoyi.shop', 'shop', 'goods', '商品主', 'hupeng', '0', '/', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-25 14:00:14', '', '2019-08-25 14:14:00', '');
|
||||
INSERT INTO `gen_table` VALUES (9, 'store_goods_attr', '商品关联的属性表(与商品相关)', NULL, NULL, 'StoreGoodsAttr', 'crud', 'com.ruoyi.shop', 'shop', 'attr', '商品关联的属性(与商品相关)', 'hupeng', '0', '/', NULL, 'admin', '2019-08-26 13:38:54', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (10, 'store_coupon', '优惠券主表', NULL, NULL, 'StoreCoupon', 'crud', 'com.ruoyi.shop', 'shop', 'coupon', '优惠券主', 'hupeng', '0', '/', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-29 19:16:19', '', '2019-08-29 19:22:06', '');
|
||||
INSERT INTO `gen_table` VALUES (11, 'store_coupon_list', '优惠券记录表', NULL, NULL, 'StoreCouponList', 'crud', 'com.ruoyi.shop', 'shop', 'list', '优惠券记录', 'hupeng', '0', '/', NULL, 'admin', '2019-08-29 19:16:19', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (12, 'store_order', '订单主表', NULL, NULL, 'StoreOrder', 'crud', 'com.ruoyi.shop', 'shop', 'order', '订单主', 'hupeng', '0', '/', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-29 19:45:09', '', '2019-08-29 19:53:53', '');
|
||||
INSERT INTO `gen_table` VALUES (13, 'store_order_goods', '订单商品表与订单主表关联', NULL, NULL, 'StoreOrderGoods', 'crud', 'com.ruoyi.shop', 'shop', 'goods', '订单商品与订单主关联', 'hupeng', '0', '/', NULL, 'admin', '2019-08-29 19:45:10', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (14, 'store_order_goods_remark', '订单商品备注表', NULL, NULL, 'StoreOrderGoodsRemark', 'crud', 'com.ruoyi.shop', 'shop', 'remark', '订单商品备注', 'hupeng', '0', '/', NULL, 'admin', '2019-08-29 19:45:10', '', NULL, NULL);
|
||||
INSERT INTO `gen_table` VALUES (15, 'store_member', '商城会员信息', NULL, NULL, 'StoreMember', 'crud', 'com.ruoyi.shop', 'shop', 'member', '商城会员信息', 'hupeng', '0', '/', '{\"treeName\":\"\",\"treeParentCode\":\"\",\"treeCode\":\"\"}', 'admin', '2019-08-30 13:40:31', '', '2019-08-30 13:44:56', '');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for gen_table_column
|
||||
@@ -403,9 +407,9 @@ CREATE TABLE `qrtz_job_details` (
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_job_details
|
||||
-- ----------------------------
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 'com.ruoyi.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F504552544945537372001E636F6D2E72756F79692E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E000978720027636F6D2E72756F79692E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200074C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E078707400007070707400013174000E302F3130202A202A202A202A203F74001172795461736B2E72794E6F506172616D7374000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000001740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E697A0E58F82EFBC8974000133740001317800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 'com.ruoyi.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F504552544945537372001E636F6D2E72756F79692E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E000978720027636F6D2E72756F79692E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200074C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E078707400007070707400013174000E302F3135202A202A202A202A203F74001572795461736B2E7279506172616D7328277279272974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000002740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E69C89E58F82EFBC8974000133740001317800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 'com.ruoyi.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F504552544945537372001E636F6D2E72756F79692E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E000978720027636F6D2E72756F79692E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200074C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E078707400007070707400013174000E302F3230202A202A202A202A203F74003872795461736B2E72794D756C7469706C65506172616D7328277279272C20747275652C20323030304C2C203331362E3530442C203130302974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000003740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E5A49AE58F82EFBC8974000133740001317800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 'co.yixiang.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F504552544945537372001F636F2E79697869616E672E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E000978720028636F2E79697869616E672E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200074C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E078707400007070707400013174000E302F3130202A202A202A202A203F74001172795461736B2E72794E6F506172616D7374000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000001740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E697A0E58F82EFBC8974000133740001317800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 'co.yixiang.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F504552544945537372001F636F2E79697869616E672E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E000978720028636F2E79697869616E672E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200074C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E078707400007070707400013174000E302F3135202A202A202A202A203F74001572795461736B2E7279506172616D7328277279272974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000002740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E69C89E58F82EFBC8974000133740001317800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 'co.yixiang.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F504552544945537372001F636F2E79697869616E672E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E000978720028636F2E79697869616E672E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200074C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E078707400007070707400013174000E302F3230202A202A202A202A203F74003872795461736B2E72794D756C7469706C65506172616D7328277279272C20747275652C20323030304C2C203331362E3530442C203130302974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000003740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E5A49AE58F82EFBC8974000133740001317800);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_locks
|
||||
@@ -448,7 +452,7 @@ CREATE TABLE `qrtz_scheduler_state` (
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_scheduler_state
|
||||
-- ----------------------------
|
||||
INSERT INTO `qrtz_scheduler_state` VALUES ('RuoyiScheduler', 'DESKTOP-GCTSJEJ1569228453535', 1569228533294, 15000);
|
||||
INSERT INTO `qrtz_scheduler_state` VALUES ('RuoyiScheduler', 'DESKTOP-GCTSJEJ1624007141006', 1624007624686, 15000);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_simple_triggers
|
||||
@@ -517,9 +521,9 @@ CREATE TABLE `qrtz_triggers` (
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_triggers
|
||||
-- ----------------------------
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 1569228460000, -1, 5, 'PAUSED', 'CRON', 1569228453000, 0, NULL, 2, '');
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 1569228465000, -1, 5, 'PAUSED', 'CRON', 1569228454000, 0, NULL, 2, '');
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 1569228460000, -1, 5, 'PAUSED', 'CRON', 1569228454000, 0, NULL, 2, '');
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 1624007150000, -1, 5, 'PAUSED', 'CRON', 1624007141000, 0, NULL, 2, '');
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 1624007145000, -1, 5, 'PAUSED', 'CRON', 1624007141000, 0, NULL, 2, '');
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 1624007160000, -1, 5, 'PAUSED', 'CRON', 1624007141000, 0, NULL, 2, '');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_ads
|
||||
@@ -538,9 +542,9 @@ CREATE TABLE `store_ads` (
|
||||
-- ----------------------------
|
||||
-- Records of store_ads
|
||||
-- ----------------------------
|
||||
INSERT INTO `store_ads` VALUES (9, 'https://admin.mijia321.com/static/upload/e38690a86e1ef621/313ee2689043da13.mp4', 'http://www.testxcx.com/static/upload/27b30e42b57aceb8/fea8d48a46cd2470.jpg', 1, 0, 0);
|
||||
INSERT INTO `store_ads` VALUES (11, '', 'https://admin.mijia321.com/static/upload/145bb741db89d1a0/b7fbb8665bd0b890.jpg', 2, 0, 1536502777);
|
||||
INSERT INTO `store_ads` VALUES (12, '', 'https://admin.mijia321.com/static/upload/279ee243f5b38111/ce8c807ed75ffe59.jpg', 2, 0, 1536503300);
|
||||
INSERT INTO `store_ads` VALUES (9, 'https://admin.mijia321.com/static/upload/e38690a86e1ef621/313ee2689043da13.mp4', 'https://wxapi.yixiang.co/api/file/pic/20210222213137611454.jpg', 1, 0, 0);
|
||||
INSERT INTO `store_ads` VALUES (11, '', 'https://wxapi.yixiang.co/api/file/pic/20210222213116280067.jpeg', 2, 0, 1536502777);
|
||||
INSERT INTO `store_ads` VALUES (12, '', 'https://wxapi.yixiang.co/api/file/pic/20210222213137611454.jpg', 2, 0, 1536503300);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_cart
|
||||
@@ -912,11 +916,11 @@ CREATE TABLE `store_goods` (
|
||||
-- ----------------------------
|
||||
-- Records of store_goods
|
||||
-- ----------------------------
|
||||
INSERT INTO `store_goods` VALUES (4, 5, 0, '#10078', '小米8青春', 0, 1, 77, 0, 0, 0.0000, 140.00, 100.00, 0.00, NULL, '布料', '布料描述,布料描述,布料描述', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/145bb741db89d1a0/b7fbb8665bd0b890.jpg\" title=\"image\" /></p>', NULL, 'https://admin.mijia321.com/static/upload/5941400cd87c37bb/c838a50cd6e02bc9.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 1, 1, 0, 0, 39, 0, 10, 0, 0, 23, 0, 0, 0.00, '', '', 0, 'https://admin.mijia321.com/static/upload/e38690a86e1ef621/313ee2689043da13.mp4');
|
||||
INSERT INTO `store_goods` VALUES (5, 5, 0, '#10086', '苹果X', 0, 1, 172, 0, 0, 0.0000, 150.00, 100.00, 0.00, NULL, '枕芯', '枕芯这里是什么呢', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/5735b3971afb31b4/4056e87625d6308d.jpg\" title=\"image\" /></p>\r\n\r\n<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/2ca3e28f579f67bf/60adbbcf479f76a1.jpg\" title=\"image\" /></p>', NULL, 'https://admin.mijia321.com/static/upload/2ca3e28f579f67bf/60adbbcf479f76a1.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 0, 1, 0, 0, 39, 0, 20, 0, 0, 28, 0, 0, 0.00, '', '', 0, 'https://admin.mijia321.com/static/upload/e38690a86e1ef621/313ee2689043da13.mp4');
|
||||
INSERT INTO `store_goods` VALUES (6, 5, 0, '10010', '小米6X', 0, 2, 19, 0, 0, 0.0000, 18.00, 22.00, 0.00, NULL, '123', '123123', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/90302f074f2f7060/17f5d62b05cccc78.jpg\" title=\"image\" /></p>', NULL, 'https://admin.mijia321.com/static/upload/90302f074f2f7060/17f5d62b05cccc78.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 1, 0, 0, 0, 39, 0, 0, 0, 0, 3, 0, 0, 0.00, '', '', 0, '');
|
||||
INSERT INTO `store_goods` VALUES (7, 5, 0, '#45678', '红米6A', 0, 2, 12, 0, 0, 0.0000, 12.00, 22.00, 0.00, NULL, '12', '123123', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/1eaff416a8e9b845/ef5711e4c1995028.jpg\" title=\"image\" /></p>', NULL, 'https://admin.mijia321.com/static/upload/593fab60868bfd61/3e6219d4ad6fe91a.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 1, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0.00, '', '', 0, '');
|
||||
INSERT INTO `store_goods` VALUES (8, 4, 0, '#10096', '小米平板', 0, 1, 10, 0, 0, 0.0000, 9888.00, 6888.00, 0.00, NULL, '小米', '123', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/bbed0eba70c2018c/5b22ac2638e18245.jpg\" title=\"image\" /><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/137478132b12081d/8f46351f022872b4.jpg\" title=\"image\" /><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/0a78b71aebb5a39e/b64ce1f2ee6ac447.jpg\" title=\"image\" /><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/b9d6ba99c4c6c55b/f4ed701f2ae71653.jpg\" title=\"image\" /></p>', NULL, 'https://admin.mijia321.com/static/upload/57f30ef609837394/95492d0e4b055104.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 1, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0.00, '', '', 0, '');
|
||||
INSERT INTO `store_goods` VALUES (4, 5, 0, '#10078', '小米8青春', 0, 1, 77, 0, 0, 0.0000, 140.00, 100.00, 0.00, NULL, '布料', '布料描述,布料描述,布料描述', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/145bb741db89d1a0/b7fbb8665bd0b890.jpg\" title=\"image\" /></p>', NULL, 'https://app2.yixiang.co/file/pic/20210615153142207742.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 1, 1, 0, 0, 39, 0, 10, 0, 0, 23, 0, 0, 0.00, '', '', 0, 'https://admin.mijia321.com/static/upload/e38690a86e1ef621/313ee2689043da13.mp4');
|
||||
INSERT INTO `store_goods` VALUES (5, 5, 0, '#10086', '苹果X', 0, 1, 172, 0, 0, 0.0000, 150.00, 100.00, 0.00, NULL, '枕芯', '枕芯这里是什么呢', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/5735b3971afb31b4/4056e87625d6308d.jpg\" title=\"image\" /></p>\r\n\r\n<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/2ca3e28f579f67bf/60adbbcf479f76a1.jpg\" title=\"image\" /></p>', NULL, 'https://app2.yixiang.co/file/pic/20210608163248869638.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 0, 1, 0, 0, 39, 0, 20, 0, 0, 28, 0, 0, 0.00, '', '', 0, 'https://admin.mijia321.com/static/upload/e38690a86e1ef621/313ee2689043da13.mp4');
|
||||
INSERT INTO `store_goods` VALUES (6, 5, 0, '10010', '小米6X', 0, 2, 19, 0, 0, 0.0000, 18.00, 22.00, 0.00, NULL, '123', '123123', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/90302f074f2f7060/17f5d62b05cccc78.jpg\" title=\"image\" /></p>', NULL, 'https://app2.yixiang.co/file/pic/20210608113116814494.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 1, 0, 0, 0, 39, 0, 0, 0, 0, 3, 0, 0, 0.00, '', '', 0, '');
|
||||
INSERT INTO `store_goods` VALUES (7, 5, 0, '#45678', '红米6A', 0, 2, 12, 0, 0, 0.0000, 12.00, 22.00, 0.00, NULL, '12', '123123', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/1eaff416a8e9b845/ef5711e4c1995028.jpg\" title=\"image\" /></p>', NULL, 'https://app2.yixiang.co/file/pic/20210608113116358194.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 1, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0.00, '', '', 0, '');
|
||||
INSERT INTO `store_goods` VALUES (8, 4, 0, '#10096', '小米平板', 0, 1, 10, 0, 0, 0.0000, 9888.00, 6888.00, 0.00, NULL, '小米', '123', '<p><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/bbed0eba70c2018c/5b22ac2638e18245.jpg\" title=\"image\" /><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/137478132b12081d/8f46351f022872b4.jpg\" title=\"image\" /><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/0a78b71aebb5a39e/b64ce1f2ee6ac447.jpg\" title=\"image\" /><img border=\"0\" src=\"https://admin.mijia321.com/static/upload/b9d6ba99c4c6c55b/f4ed701f2ae71653.jpg\" title=\"image\" /></p>', NULL, 'https://app2.yixiang.co/file/pic/20210608113116504118.jpg', 0, 0, 0, 1, 1, 0, 0, 50, 1, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0.00, '', '', 0, '');
|
||||
INSERT INTO `store_goods` VALUES (9, 11, 0, '#1008611', '测试商品规格', 0, 1, 10, 0, 0, 0.0000, 100.00, 20.00, 0.00, NULL, '复印', '描述', NULL, NULL, '', 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0.00, '', '', 0, '');
|
||||
|
||||
-- ----------------------------
|
||||
@@ -1109,40 +1113,6 @@ CREATE TABLE `store_goods_coupon` (
|
||||
PRIMARY KEY (`coupon_id`, `goods_id`, `goods_category_id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci COMMENT = '优惠券与商品关联表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_goods_feiqi
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `store_goods_feiqi`;
|
||||
CREATE TABLE `store_goods_feiqi` (
|
||||
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`brand_id` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '品牌ID',
|
||||
`cate_id` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '商品分类id',
|
||||
`unit_id` bigint(20) NULL DEFAULT NULL COMMENT '商品单位ID',
|
||||
`spec_id` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '规格ID',
|
||||
`tags_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '商品标签ID',
|
||||
`is_code` bigint(1) NULL DEFAULT 1 COMMENT '是否有码商品',
|
||||
`goods_no` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '货号',
|
||||
`goods_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '商品标签',
|
||||
`goods_content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '商品内容',
|
||||
`goods_logo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '商品LOGO',
|
||||
`goods_image` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '商品图片地址',
|
||||
`goods_video` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '商品视频URL',
|
||||
`goods_desc` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '商品描述',
|
||||
`package_stock` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '总库存数量',
|
||||
`package_sale` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '已销售数量',
|
||||
`favorite_num` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '收藏次数',
|
||||
`sort` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '数据排序',
|
||||
`status` bigint(1) UNSIGNED NULL DEFAULT 1 COMMENT '商品状态(1有效,0无效)',
|
||||
`is_deleted` bigint(1) UNSIGNED NULL DEFAULT 0 COMMENT '删除状态(1删除,0未删除)',
|
||||
`create_at` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城商品主表-废弃' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of store_goods_feiqi
|
||||
-- ----------------------------
|
||||
INSERT INTO `store_goods_feiqi` VALUES (1, 1, 4, NULL, 1, ',,', 1, '', '亿罗水洗棉四件套', '<p> 亿罗水洗棉四件套 亿罗水洗棉四件套</p>\r\n\r\n<p> 亿罗水洗棉四件套</p>', 'http://www.testxcx.com/static/upload/fec82092cb3405cc/cefd3bfb70a3c080.png', 'http://www.testxcx.com/static/upload/934a5ec7a6634375/982e646eae7c52c3.png', '', ' 亿罗水洗棉四件套 亿罗水洗棉四件套', 0, 0, 0, 0, 0, 0, '2018-07-09 21:17:02');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_goods_images
|
||||
-- ----------------------------
|
||||
@@ -1218,13 +1188,13 @@ CREATE TABLE `store_member` (
|
||||
`address_id` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '默认收货地址',
|
||||
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '会员个性签名',
|
||||
`status` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '会员状态0待审核 1-已审核 2-已拒绝',
|
||||
`create_time` datetime(0) NULL,
|
||||
`create_time` datetime(0) NULL DEFAULT NULL,
|
||||
`create_at` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`status_time` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '审核时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE INDEX `index_store_member_openid`(`openid`) USING BTREE,
|
||||
INDEX `index_store_member_phone`(`phone`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城会员信息' ROW_FORMAT = Dynamic;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城会员信息' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of store_member
|
||||
@@ -1236,7 +1206,6 @@ INSERT INTO `store_member` VALUES (4, '', 'orIMY47plZ1wxgJKkgme2Kp0dSGs', '', 'e
|
||||
INSERT INTO `store_member` VALUES (5, '', 'orIMY4z3mBo7ybJ4l0MbjSkd1KMs', '', 'e10adc3949ba59abbe56e057f20f883e', '阿星xlh(十分之九)', 'https://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eqp5Fqia2pfV0Gh4Sf6jL2n0JGhxKiaiaRkSXg52RvStkfhxXUCAkud4lNRx2Mv6XSjZw6CMHIzDcicRg/132', '1', 1, 0.00, 0.00, 0.00, 0.00, 0, 0, 0, '', 0, '0000-00-00 00:00:00', '2018-09-17 16:14:19', 0);
|
||||
INSERT INTO `store_member` VALUES (6, '', 'orIMY4-Mz71H4437G_kwUP5OteQc', '', 'e10adc3949ba59abbe56e057f20f883e', '隐形少女', 'https://wx.qlogo.cn/mmopen/vi_32/DVCIYncKXic6BAf4KL7ewRVxeKwUyeC7yqPnMWLYib7tX1kzxMgac7ib261RqibshfELUyicgEuh8FEDCEBkS5HXU6w/132', '0', 1, 0.00, 0.00, 0.00, 0.00, 0, 0, 0, '', 0, '0000-00-00 00:00:00', '2018-09-17 16:28:09', 0);
|
||||
INSERT INTO `store_member` VALUES (7, '', 'orIMY48OXLkkc2SGs--N0A9tfDKM', '18905970273', 'e10adc3949ba59abbe56e057f20f883e', '林建宾', 'https://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eqgqwibl6cHtTbibl5M7xFQw1nd7ab6OfNg7iaRZYshmLVXNsbvx55JaMlicyJspybAqrFFghhNA2hDSw/132', '1', 5, 0.00, 8749.90, 0.00, 0.00, 0, 0, 0, '', 1, '0000-00-00 00:00:00', '2018-09-17 16:50:23', 0);
|
||||
INSERT INTO `store_member` VALUES (8, '', 'orIMY41VYKy0IJa1zESsWp-it5GM', '', 'e10adc3949ba59abbe56e057f20f883e', '李冠坤电线电缆灯具家装材料', 'https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTIwbHuA4O3melJMVSgwU4rYac9GtcfRbtQkzpiaIK0NyQgohWVoec6yC9aW08HuPS5aFx7rPfK6uQA/132', '1', 1, 0.00, 0.00, 0.00, 0.00, 0, 0, 0, '', 0, '0000-00-00 00:00:00', '2018-10-14 11:27:31', 0);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_member_address
|
||||
@@ -1330,7 +1299,7 @@ CREATE TABLE `store_order` (
|
||||
UNIQUE INDEX `order_sn`(`order_sn`) USING BTREE,
|
||||
INDEX `user_id`(`user_id`) USING BTREE,
|
||||
INDEX `add_time`(`add_time`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1869 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单主表' ROW_FORMAT = Dynamic;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1870 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单主表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of store_order
|
||||
@@ -1339,6 +1308,7 @@ INSERT INTO `store_order` VALUES (1865, '20190914144718326', 3, 0, 0, 0, 'hupeng
|
||||
INSERT INTO `store_order` VALUES (1866, '20190914145142303', 3, 0, 0, 0, 'hupeng', 0, 0, 0, 0, 0, '河南郑州', '工商', '', '15136175847', '', 2, '', '', '', 0, 0, '', '', '', 430.00, 0.00, 0.00, 50.00, 0, 0.00, 380.00, 430.00, '2019-09-14 06:51:42', 0, 0, 0, NULL, 0, 0, 0, 0.00, 0.00, '', '', NULL, 0, 0.00, 0, 0, '0.00');
|
||||
INSERT INTO `store_order` VALUES (1867, '20190916155320142', 3, 0, 0, 0, 'hupeng', 0, 0, 0, 0, 0, '河南郑州', '工商', '', '15136175847', '', 2, '', '', '', 0, 0, '', '', '', 430.00, 0.00, 0.00, 50.00, 0, 0.00, 380.00, 430.00, '2019-09-16 07:53:20', 0, 0, 0, NULL, 0, 0, 0, 0.00, 0.00, '', '', NULL, 0, 0.00, 0, 0, '0.00');
|
||||
INSERT INTO `store_order` VALUES (1868, '20190916155438712', 3, 0, 0, 0, 'hupeng', 0, 0, 0, 0, 0, '河南郑州', '工商', '', '15136175847', '', 2, '', '', '', 0, 0, '', '', '', 430.00, 0.00, 0.00, 50.00, 0, 0.00, 380.00, 430.00, '2019-09-16 07:54:39', 0, 0, 0, NULL, 0, 0, 0, 0.00, 0.00, '', '', NULL, 0, 0.00, 0, 0, '0.00');
|
||||
INSERT INTO `store_order` VALUES (1869, '20210618155907483', 3, 0, 0, 0, '胡鹏', 0, 0, 0, 0, 0, '北京市市辖区东城区', '75', '', '15136175246', '', 2, '', '', '', 0, 0, '', '', '', 88.00, 0.00, 0.00, 0.00, 0, 0.00, 88.00, 88.00, '2021-06-18 07:59:08', 0, 0, 0, NULL, 0, 0, 0, 0.00, 0.00, '', '', NULL, 0, 0.00, 0, 0, '0.00');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_order_action
|
||||
@@ -1529,32 +1499,6 @@ CREATE TABLE `store_order_express` (
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城订单快递' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_order_feiqi
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `store_order_feiqi`;
|
||||
CREATE TABLE `store_order_feiqi` (
|
||||
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`type` tinyint(1) UNSIGNED NULL DEFAULT 1 COMMENT '订单类型(1普通订单,2积分订单)',
|
||||
`mid` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '会员ID',
|
||||
`order_no` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '订单号',
|
||||
`freight_price` decimal(20, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '快递费',
|
||||
`goods_price` decimal(20, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '商品总金额(不含快递费)',
|
||||
`real_price` decimal(20, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '真实支付金额(商品金额+快递金额)',
|
||||
`is_pay` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '订单支付状态(0.未支付,1.已支付)',
|
||||
`pay_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '支付方式 (wechat微信支付, alipay支付宝支付)',
|
||||
`pay_no` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '商户交易号',
|
||||
`pay_price` decimal(20, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '实际支付金额',
|
||||
`pay_at` datetime(0) NULL DEFAULT NULL COMMENT '支付时间',
|
||||
`desc` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '订单描述',
|
||||
`status` bigint(1) UNSIGNED NULL DEFAULT 1 COMMENT '订单状态(0.无效,1.新订单,2.待发货,3.已发货,4.已收货,5.已完成,6.已退货及退款)',
|
||||
`is_deleted` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '删除状态(1删除,0未删除)',
|
||||
`create_at` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `index_store_order_order_no`(`order_no`) USING BTREE,
|
||||
INDEX `index_store_order_status`(`status`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城订单主表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_order_goods
|
||||
-- ----------------------------
|
||||
@@ -1584,7 +1528,7 @@ CREATE TABLE `store_order_goods` (
|
||||
PRIMARY KEY (`rec_id`) USING BTREE,
|
||||
INDEX `order_id`(`order_id`) USING BTREE,
|
||||
INDEX `goods_id`(`goods_id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 2178 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单商品表与订单主表关联' ROW_FORMAT = Dynamic;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 2179 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单商品表与订单主表关联' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of store_order_goods
|
||||
@@ -1597,6 +1541,7 @@ INSERT INTO `store_order_goods` VALUES (2174, 1867, 4, '小米8青春', 'https:/
|
||||
INSERT INTO `store_order_goods` VALUES (2175, 1867, 4, '小米8青春', 'https://admin.mijia321.com/static/upload/5941400cd87c37bb/c838a50cd6e02bc9.jpg', '#10078', 3, 0.00, 90.00, 0.00, 0.00, 0, '8_12', '尺寸:300*500cm 颜色:紫色', '', 0, 0, 0, 0, 0, '');
|
||||
INSERT INTO `store_order_goods` VALUES (2176, 1868, 4, '小米8青春', 'https://admin.mijia321.com/static/upload/5941400cd87c37bb/c838a50cd6e02bc9.jpg', '#10078', 2, 0.00, 80.00, 0.00, 0.00, 0, '8_11', '尺寸:300*500cm 颜色:黑色', '', 0, 0, 0, 0, 0, '');
|
||||
INSERT INTO `store_order_goods` VALUES (2177, 1868, 4, '小米8青春', 'https://admin.mijia321.com/static/upload/5941400cd87c37bb/c838a50cd6e02bc9.jpg', '#10078', 3, 0.00, 90.00, 0.00, 0.00, 0, '8_12', '尺寸:300*500cm 颜色:紫色', '', 0, 0, 0, 0, 0, '');
|
||||
INSERT INTO `store_order_goods` VALUES (2178, 1869, 4, '小米8青春', 'https://app2.yixiang.co/file/pic/20210615153142207742.jpg', '#10078', 1, 888.00, 88.00, 0.00, 0.00, 0, '8_10', '尺寸:300*500cm,颜色:红色', '', 0, 0, 0, 0, 0, '');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for store_order_goods_remark
|
||||
@@ -2392,7 +2337,7 @@ CREATE TABLE `sys_logininfor` (
|
||||
`msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提示消息',
|
||||
`login_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间',
|
||||
PRIMARY KEY (`info_id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 433 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 446 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_logininfor
|
||||
@@ -2730,6 +2675,19 @@ INSERT INTO `sys_logininfor` VALUES (429, 'admin', '127.0.0.1', '内网IP', 'Chr
|
||||
INSERT INTO `sys_logininfor` VALUES (430, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-09-23 15:45:33');
|
||||
INSERT INTO `sys_logininfor` VALUES (431, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-09-23 15:56:35');
|
||||
INSERT INTO `sys_logininfor` VALUES (432, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-09-23 16:47:42');
|
||||
INSERT INTO `sys_logininfor` VALUES (433, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '1', '验证码错误', '2021-06-07 15:11:05');
|
||||
INSERT INTO `sys_logininfor` VALUES (434, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '1', '验证码错误', '2021-06-07 15:14:26');
|
||||
INSERT INTO `sys_logininfor` VALUES (435, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '1', '验证码错误', '2021-06-07 15:14:31');
|
||||
INSERT INTO `sys_logininfor` VALUES (436, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '1', '验证码错误', '2021-06-07 15:14:36');
|
||||
INSERT INTO `sys_logininfor` VALUES (437, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2021-06-07 15:14:40');
|
||||
INSERT INTO `sys_logininfor` VALUES (438, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2021-06-18 15:09:24');
|
||||
INSERT INTO `sys_logininfor` VALUES (439, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '1', '验证码错误', '2021-06-18 16:53:15');
|
||||
INSERT INTO `sys_logininfor` VALUES (440, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2021-06-18 16:53:20');
|
||||
INSERT INTO `sys_logininfor` VALUES (441, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '1', '验证码错误', '2021-06-18 16:55:13');
|
||||
INSERT INTO `sys_logininfor` VALUES (442, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '1', '验证码错误', '2021-06-18 16:55:19');
|
||||
INSERT INTO `sys_logininfor` VALUES (443, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2021-06-18 16:55:24');
|
||||
INSERT INTO `sys_logininfor` VALUES (444, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2021-06-18 16:58:46');
|
||||
INSERT INTO `sys_logininfor` VALUES (445, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2021-06-18 17:06:15');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_menu
|
||||
@@ -2744,6 +2702,7 @@ CREATE TABLE `sys_menu` (
|
||||
`target` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '打开方式(menuItem页签 menuBlank新窗口)',
|
||||
`menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)',
|
||||
`visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)',
|
||||
`is_refresh` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1',
|
||||
`perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识',
|
||||
`icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '#' COMMENT '菜单图标',
|
||||
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
||||
@@ -2757,134 +2716,134 @@ CREATE TABLE `sys_menu` (
|
||||
-- ----------------------------
|
||||
-- Records of sys_menu
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, '#', '', 'M', '0', '', 'fa fa-gear', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统管理目录');
|
||||
INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 2, '#', '', 'M', '0', '', 'fa fa-video-camera', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统监控目录');
|
||||
INSERT INTO `sys_menu` VALUES (3, '系统工具', 0, 3, '#', '', 'M', '0', '', 'fa fa-bars', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统工具目录');
|
||||
INSERT INTO `sys_menu` VALUES (100, '用户管理', 1, 1, '/system/user', '', 'C', '0', 'system:user:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '用户管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (101, '角色管理', 1, 2, '/system/role', '', 'C', '0', 'system:role:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '角色管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (102, '菜单管理', 1, 3, '/system/menu', '', 'C', '0', 'system:menu:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '菜单管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (103, '部门管理', 1, 4, '/system/dept', '', 'C', '0', 'system:dept:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '部门管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (104, '岗位管理', 1, 5, '/system/post', '', 'C', '0', 'system:post:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '岗位管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (105, '字典管理', 1, 6, '/system/dict', '', 'C', '0', 'system:dict:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '字典管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (106, '参数设置', 1, 7, '/system/config', '', 'C', '0', 'system:config:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '参数设置菜单');
|
||||
INSERT INTO `sys_menu` VALUES (107, '通知公告', 1, 8, '/system/notice', '', 'C', '0', 'system:notice:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '通知公告菜单');
|
||||
INSERT INTO `sys_menu` VALUES (108, '日志管理', 1, 9, '#', '', 'M', '0', '', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '日志管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, '/monitor/online', '', 'C', '0', 'monitor:online:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '在线用户菜单');
|
||||
INSERT INTO `sys_menu` VALUES (110, '定时任务', 2, 2, '/monitor/job', '', 'C', '0', 'monitor:job:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '定时任务菜单');
|
||||
INSERT INTO `sys_menu` VALUES (111, '数据监控', 2, 3, '/monitor/data', '', 'C', '0', 'monitor:data:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '数据监控菜单');
|
||||
INSERT INTO `sys_menu` VALUES (112, '服务监控', 2, 3, '/monitor/server', '', 'C', '0', 'monitor:server:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '服务监控菜单');
|
||||
INSERT INTO `sys_menu` VALUES (113, '表单构建', 3, 1, '/tool/build', '', 'C', '0', 'tool:build:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '表单构建菜单');
|
||||
INSERT INTO `sys_menu` VALUES (114, '代码生成', 3, 2, '/tool/gen', '', 'C', '0', 'tool:gen:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '代码生成菜单');
|
||||
INSERT INTO `sys_menu` VALUES (115, '系统接口', 3, 3, '/tool/swagger', '', 'C', '0', 'tool:swagger:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统接口菜单');
|
||||
INSERT INTO `sys_menu` VALUES (500, '操作日志', 108, 1, '/monitor/operlog', '', 'C', '0', 'monitor:operlog:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '操作日志菜单');
|
||||
INSERT INTO `sys_menu` VALUES (501, '登录日志', 108, 2, '/monitor/logininfor', '', 'C', '0', 'monitor:logininfor:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '登录日志菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '#', '', 'F', '0', 'system:user:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '#', '', 'F', '0', 'system:user:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '#', '', 'F', '0', 'system:user:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1003, '用户删除', 100, 4, '#', '', 'F', '0', 'system:user:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1004, '用户导出', 100, 5, '#', '', 'F', '0', 'system:user:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1005, '用户导入', 100, 6, '#', '', 'F', '0', 'system:user:import', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1006, '重置密码', 100, 7, '#', '', 'F', '0', 'system:user:resetPwd', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1007, '角色查询', 101, 1, '#', '', 'F', '0', 'system:role:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1008, '角色新增', 101, 2, '#', '', 'F', '0', 'system:role:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1009, '角色修改', 101, 3, '#', '', 'F', '0', 'system:role:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1010, '角色删除', 101, 4, '#', '', 'F', '0', 'system:role:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1011, '角色导出', 101, 5, '#', '', 'F', '0', 'system:role:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1012, '菜单查询', 102, 1, '#', '', 'F', '0', 'system:menu:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1013, '菜单新增', 102, 2, '#', '', 'F', '0', 'system:menu:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1014, '菜单修改', 102, 3, '#', '', 'F', '0', 'system:menu:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1015, '菜单删除', 102, 4, '#', '', 'F', '0', 'system:menu:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1016, '部门查询', 103, 1, '#', '', 'F', '0', 'system:dept:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1017, '部门新增', 103, 2, '#', '', 'F', '0', 'system:dept:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1018, '部门修改', 103, 3, '#', '', 'F', '0', 'system:dept:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1019, '部门删除', 103, 4, '#', '', 'F', '0', 'system:dept:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1020, '岗位查询', 104, 1, '#', '', 'F', '0', 'system:post:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1021, '岗位新增', 104, 2, '#', '', 'F', '0', 'system:post:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1022, '岗位修改', 104, 3, '#', '', 'F', '0', 'system:post:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1023, '岗位删除', 104, 4, '#', '', 'F', '0', 'system:post:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1024, '岗位导出', 104, 5, '#', '', 'F', '0', 'system:post:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1025, '字典查询', 105, 1, '#', '', 'F', '0', 'system:dict:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1026, '字典新增', 105, 2, '#', '', 'F', '0', 'system:dict:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1027, '字典修改', 105, 3, '#', '', 'F', '0', 'system:dict:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1028, '字典删除', 105, 4, '#', '', 'F', '0', 'system:dict:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1029, '字典导出', 105, 5, '#', '', 'F', '0', 'system:dict:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1030, '参数查询', 106, 1, '#', '', 'F', '0', 'system:config:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1031, '参数新增', 106, 2, '#', '', 'F', '0', 'system:config:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1032, '参数修改', 106, 3, '#', '', 'F', '0', 'system:config:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1033, '参数删除', 106, 4, '#', '', 'F', '0', 'system:config:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1034, '参数导出', 106, 5, '#', '', 'F', '0', 'system:config:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1035, '公告查询', 107, 1, '#', '', 'F', '0', 'system:notice:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1036, '公告新增', 107, 2, '#', '', 'F', '0', 'system:notice:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1037, '公告修改', 107, 3, '#', '', 'F', '0', 'system:notice:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1038, '公告删除', 107, 4, '#', '', 'F', '0', 'system:notice:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1039, '操作查询', 500, 1, '#', '', 'F', '0', 'monitor:operlog:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1040, '操作删除', 500, 2, '#', '', 'F', '0', 'monitor:operlog:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1041, '详细信息', 500, 3, '#', '', 'F', '0', 'monitor:operlog:detail', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1042, '日志导出', 500, 4, '#', '', 'F', '0', 'monitor:operlog:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1043, '登录查询', 501, 1, '#', '', 'F', '0', 'monitor:logininfor:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1044, '登录删除', 501, 2, '#', '', 'F', '0', 'monitor:logininfor:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1045, '日志导出', 501, 3, '#', '', 'F', '0', 'monitor:logininfor:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', 'F', '0', 'monitor:online:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', 'F', '0', 'monitor:online:batchForceLogout', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', 'F', '0', 'monitor:online:forceLogout', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1049, '任务查询', 110, 1, '#', '', 'F', '0', 'monitor:job:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1050, '任务新增', 110, 2, '#', '', 'F', '0', 'monitor:job:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1051, '任务修改', 110, 3, '#', '', 'F', '0', 'monitor:job:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1052, '任务删除', 110, 4, '#', '', 'F', '0', 'monitor:job:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1053, '状态修改', 110, 5, '#', '', 'F', '0', 'monitor:job:changeStatus', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1054, '任务详细', 110, 6, '#', '', 'F', '0', 'monitor:job:detail', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1055, '任务导出', 110, 7, '#', '', 'F', '0', 'monitor:job:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1056, '生成查询', 114, 1, '#', '', 'F', '0', 'tool:gen:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1057, '生成修改', 114, 2, '#', '', 'F', '0', 'tool:gen:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1058, '生成删除', 114, 3, '#', '', 'F', '0', 'tool:gen:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1059, '预览代码', 114, 4, '#', '', 'F', '0', 'tool:gen:preview', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1060, '生成代码', 114, 5, '#', '', 'F', '0', 'tool:gen:code', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1061, '商城管理', 0, 4, '#', 'menuItem', 'M', '0', NULL, 'fa fa-shopping-cart', 'admin', '2019-08-22 10:14:45', '', NULL, '');
|
||||
INSERT INTO `sys_menu` VALUES (1062, '商城商品分类', 1061, 1, '/shop/cate', '', 'C', '0', 'shop:cate:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商城商品分类菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1063, '商城商品分类查询', 1062, 1, '#', '', 'F', '0', 'shop:cate:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1064, '商城商品分类新增', 1062, 2, '#', '', 'F', '0', 'shop:cate:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1065, '商城商品分类修改', 1062, 3, '#', '', 'F', '0', 'shop:cate:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1066, '商城商品分类删除', 1062, 4, '#', '', 'F', '0', 'shop:cate:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1067, '产品品牌', 1061, 1, '/shop/brand', '', 'C', '0', 'shop:brand:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '产品品牌菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1068, '产品品牌查询', 1067, 1, '#', '', 'F', '0', 'shop:brand:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1069, '产品品牌新增', 1067, 2, '#', '', 'F', '0', 'shop:brand:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1070, '产品品牌修改', 1067, 3, '#', '', 'F', '0', 'shop:brand:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1071, '产品品牌删除', 1067, 4, '#', '', 'F', '0', 'shop:brand:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1072, '商品类型(商品模型)', 1061, 1, '/shop/type', '', 'C', '0', 'shop:type:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商品类型(商品模型)菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1073, '商品类型(商品模型)查询', 1072, 1, '#', '', 'F', '0', 'shop:type:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1074, '商品类型(商品模型)新增', 1072, 2, '#', '', 'F', '0', 'shop:type:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1075, '商品类型(商品模型)修改', 1072, 3, '#', '', 'F', '0', 'shop:type:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1076, '商品类型(商品模型)删除', 1072, 4, '#', '', 'F', '0', 'shop:type:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1077, '商品的属性', 1061, 1, '/shop/attribute', '', 'C', '0', 'shop:attribute:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商品的属性(独立)菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1078, '商品的属性查询', 1077, 1, '#', '', 'F', '0', 'shop:attribute:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1079, '商品的属性新增', 1077, 2, '#', '', 'F', '0', 'shop:attribute:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1080, '商品的属性修改', 1077, 3, '#', '', 'F', '0', 'shop:attribute:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1081, '商品的属性删除', 1077, 4, '#', '', 'F', '0', 'shop:attribute:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1082, '商品规格', 1061, 1, '/shop/spec', '', 'C', '0', 'shop:spec:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商品规格(独立)菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1083, '商品规格查询', 1082, 1, '#', '', 'F', '0', 'shop:spec:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1084, '商品规格新增', 1082, 2, '#', '', 'F', '0', 'shop:spec:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1085, '商品规格修改', 1082, 3, '#', '', 'F', '0', 'shop:spec:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1086, '商品规格删除', 1082, 4, '#', '', 'F', '0', 'shop:spec:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1087, '商品管理', 1061, 1, '/shop/goods', '', 'C', '0', 'shop:goods:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商品主菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1088, '商品查询', 1087, 1, '#', '', 'F', '0', 'shop:goods:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1089, '商品新增', 1087, 2, '#', '', 'F', '0', 'shop:goods:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1090, '商品修改', 1087, 3, '#', '', 'F', '0', 'shop:goods:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1091, '商品删除', 1087, 4, '#', '', 'F', '0', 'shop:goods:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1092, '优惠券', 1061, 1, '/shop/coupon', '', 'C', '0', 'shop:coupon:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '优惠券主菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1093, '优惠券查询', 1092, 1, '#', '', 'F', '0', 'shop:coupon:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1094, '优惠券新增', 1092, 2, '#', '', 'F', '0', 'shop:coupon:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1095, '优惠券修改', 1092, 3, '#', '', 'F', '0', 'shop:coupon:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1096, '优惠券删除', 1092, 4, '#', '', 'F', '0', 'shop:coupon:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1097, '订单管理', 1061, 1, '/shop/order', '', 'C', '0', 'shop:order:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '订单主菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1098, '订单查询', 1097, 1, '#', '', 'F', '0', 'shop:order:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1099, '订单新增', 1097, 2, '#', '', 'F', '0', 'shop:order:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1100, '订单修改', 1097, 3, '#', '', 'F', '0', 'shop:order:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1101, '订单删除', 1097, 4, '#', '', 'F', '0', 'shop:order:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1102, '会员信息', 1061, 1, '/shop/member', '', 'C', '0', 'shop:member:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商城会员信息菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1103, '会员信息查询', 1102, 1, '#', '', 'F', '0', 'shop:member:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1104, '会员信息新增', 1102, 2, '#', '', 'F', '0', 'shop:member:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1105, '会员信息修改', 1102, 3, '#', '', 'F', '0', 'shop:member:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1106, '会员信息删除', 1102, 4, '#', '', 'F', '0', 'shop:member:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, '#', '', 'M', '0', '1', '', 'fa fa-gear', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统管理目录');
|
||||
INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 2, '#', '', 'M', '0', '1', '', 'fa fa-video-camera', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统监控目录');
|
||||
INSERT INTO `sys_menu` VALUES (3, '系统工具', 0, 3, '#', '', 'M', '0', '1', '', 'fa fa-bars', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统工具目录');
|
||||
INSERT INTO `sys_menu` VALUES (100, '用户管理', 1, 1, '/system/user', '', 'C', '0', '1', 'system:user:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '用户管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (101, '角色管理', 1, 2, '/system/role', '', 'C', '0', '1', 'system:role:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '角色管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (102, '菜单管理', 1, 3, '/system/menu', '', 'C', '0', '1', 'system:menu:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '菜单管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (103, '部门管理', 1, 4, '/system/dept', '', 'C', '0', '1', 'system:dept:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '部门管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (104, '岗位管理', 1, 5, '/system/post', '', 'C', '0', '1', 'system:post:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '岗位管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (105, '字典管理', 1, 6, '/system/dict', '', 'C', '0', '1', 'system:dict:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '字典管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (106, '参数设置', 1, 7, '/system/config', '', 'C', '0', '1', 'system:config:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '参数设置菜单');
|
||||
INSERT INTO `sys_menu` VALUES (107, '通知公告', 1, 8, '/system/notice', '', 'C', '0', '1', 'system:notice:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '通知公告菜单');
|
||||
INSERT INTO `sys_menu` VALUES (108, '日志管理', 1, 9, '#', '', 'M', '0', '1', '', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '日志管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, '/monitor/online', '', 'C', '0', '1', 'monitor:online:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '在线用户菜单');
|
||||
INSERT INTO `sys_menu` VALUES (110, '定时任务', 2, 2, '/monitor/job', '', 'C', '0', '1', 'monitor:job:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '定时任务菜单');
|
||||
INSERT INTO `sys_menu` VALUES (111, '数据监控', 2, 3, '/monitor/data', '', 'C', '0', '1', 'monitor:data:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '数据监控菜单');
|
||||
INSERT INTO `sys_menu` VALUES (112, '服务监控', 2, 3, '/monitor/server', '', 'C', '0', '1', 'monitor:server:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '服务监控菜单');
|
||||
INSERT INTO `sys_menu` VALUES (113, '表单构建', 3, 1, '/tool/build', '', 'C', '0', '1', 'tool:build:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '表单构建菜单');
|
||||
INSERT INTO `sys_menu` VALUES (114, '代码生成', 3, 2, '/tool/gen', '', 'C', '0', '1', 'tool:gen:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '代码生成菜单');
|
||||
INSERT INTO `sys_menu` VALUES (115, '系统接口', 3, 3, '/tool/swagger', '', 'C', '0', '1', 'tool:swagger:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统接口菜单');
|
||||
INSERT INTO `sys_menu` VALUES (500, '操作日志', 108, 1, '/monitor/operlog', '', 'C', '0', '1', 'monitor:operlog:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '操作日志菜单');
|
||||
INSERT INTO `sys_menu` VALUES (501, '登录日志', 108, 2, '/monitor/logininfor', '', 'C', '0', '1', 'monitor:logininfor:view', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '登录日志菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '#', '', 'F', '0', '1', 'system:user:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '#', '', 'F', '0', '1', 'system:user:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '#', '', 'F', '0', '1', 'system:user:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1003, '用户删除', 100, 4, '#', '', 'F', '0', '1', 'system:user:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1004, '用户导出', 100, 5, '#', '', 'F', '0', '1', 'system:user:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1005, '用户导入', 100, 6, '#', '', 'F', '0', '1', 'system:user:import', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1006, '重置密码', 100, 7, '#', '', 'F', '0', '1', 'system:user:resetPwd', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1007, '角色查询', 101, 1, '#', '', 'F', '0', '1', 'system:role:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1008, '角色新增', 101, 2, '#', '', 'F', '0', '1', 'system:role:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1009, '角色修改', 101, 3, '#', '', 'F', '0', '1', 'system:role:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1010, '角色删除', 101, 4, '#', '', 'F', '0', '1', 'system:role:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1011, '角色导出', 101, 5, '#', '', 'F', '0', '1', 'system:role:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1012, '菜单查询', 102, 1, '#', '', 'F', '0', '1', 'system:menu:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1013, '菜单新增', 102, 2, '#', '', 'F', '0', '1', 'system:menu:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1014, '菜单修改', 102, 3, '#', '', 'F', '0', '1', 'system:menu:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1015, '菜单删除', 102, 4, '#', '', 'F', '0', '1', 'system:menu:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1016, '部门查询', 103, 1, '#', '', 'F', '0', '1', 'system:dept:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1017, '部门新增', 103, 2, '#', '', 'F', '0', '1', 'system:dept:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1018, '部门修改', 103, 3, '#', '', 'F', '0', '1', 'system:dept:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1019, '部门删除', 103, 4, '#', '', 'F', '0', '1', 'system:dept:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1020, '岗位查询', 104, 1, '#', '', 'F', '0', '1', 'system:post:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1021, '岗位新增', 104, 2, '#', '', 'F', '0', '1', 'system:post:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1022, '岗位修改', 104, 3, '#', '', 'F', '0', '1', 'system:post:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1023, '岗位删除', 104, 4, '#', '', 'F', '0', '1', 'system:post:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1024, '岗位导出', 104, 5, '#', '', 'F', '0', '1', 'system:post:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1025, '字典查询', 105, 1, '#', '', 'F', '0', '1', 'system:dict:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1026, '字典新增', 105, 2, '#', '', 'F', '0', '1', 'system:dict:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1027, '字典修改', 105, 3, '#', '', 'F', '0', '1', 'system:dict:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1028, '字典删除', 105, 4, '#', '', 'F', '0', '1', 'system:dict:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1029, '字典导出', 105, 5, '#', '', 'F', '0', '1', 'system:dict:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1030, '参数查询', 106, 1, '#', '', 'F', '0', '1', 'system:config:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1031, '参数新增', 106, 2, '#', '', 'F', '0', '1', 'system:config:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1032, '参数修改', 106, 3, '#', '', 'F', '0', '1', 'system:config:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1033, '参数删除', 106, 4, '#', '', 'F', '0', '1', 'system:config:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1034, '参数导出', 106, 5, '#', '', 'F', '0', '1', 'system:config:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1035, '公告查询', 107, 1, '#', '', 'F', '0', '1', 'system:notice:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1036, '公告新增', 107, 2, '#', '', 'F', '0', '1', 'system:notice:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1037, '公告修改', 107, 3, '#', '', 'F', '0', '1', 'system:notice:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1038, '公告删除', 107, 4, '#', '', 'F', '0', '1', 'system:notice:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1039, '操作查询', 500, 1, '#', '', 'F', '0', '1', 'monitor:operlog:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1040, '操作删除', 500, 2, '#', '', 'F', '0', '1', 'monitor:operlog:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1041, '详细信息', 500, 3, '#', '', 'F', '0', '1', 'monitor:operlog:detail', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1042, '日志导出', 500, 4, '#', '', 'F', '0', '1', 'monitor:operlog:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1043, '登录查询', 501, 1, '#', '', 'F', '0', '1', 'monitor:logininfor:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1044, '登录删除', 501, 2, '#', '', 'F', '0', '1', 'monitor:logininfor:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1045, '日志导出', 501, 3, '#', '', 'F', '0', '1', 'monitor:logininfor:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', 'F', '0', '1', 'monitor:online:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', 'F', '0', '1', 'monitor:online:batchForceLogout', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', 'F', '0', '1', 'monitor:online:forceLogout', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1049, '任务查询', 110, 1, '#', '', 'F', '0', '1', 'monitor:job:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1050, '任务新增', 110, 2, '#', '', 'F', '0', '1', 'monitor:job:add', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1051, '任务修改', 110, 3, '#', '', 'F', '0', '1', 'monitor:job:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1052, '任务删除', 110, 4, '#', '', 'F', '0', '1', 'monitor:job:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1053, '状态修改', 110, 5, '#', '', 'F', '0', '1', 'monitor:job:changeStatus', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1054, '任务详细', 110, 6, '#', '', 'F', '0', '1', 'monitor:job:detail', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1055, '任务导出', 110, 7, '#', '', 'F', '0', '1', 'monitor:job:export', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1056, '生成查询', 114, 1, '#', '', 'F', '0', '1', 'tool:gen:list', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1057, '生成修改', 114, 2, '#', '', 'F', '0', '1', 'tool:gen:edit', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1058, '生成删除', 114, 3, '#', '', 'F', '0', '1', 'tool:gen:remove', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1059, '预览代码', 114, 4, '#', '', 'F', '0', '1', 'tool:gen:preview', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1060, '生成代码', 114, 5, '#', '', 'F', '0', '1', 'tool:gen:code', '#', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1061, '商城管理', 0, 0, '#', 'menuItem', 'M', '0', '1', '', 'fa fa-shopping-cart', 'admin', '2019-08-22 10:14:45', 'admin', '2021-06-18 17:00:18', '');
|
||||
INSERT INTO `sys_menu` VALUES (1062, '商城商品分类', 1061, 1, '/shop/cate', '', 'C', '0', '1', 'shop:cate:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商城商品分类菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1063, '商城商品分类查询', 1062, 1, '#', '', 'F', '0', '1', 'shop:cate:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1064, '商城商品分类新增', 1062, 2, '#', '', 'F', '0', '1', 'shop:cate:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1065, '商城商品分类修改', 1062, 3, '#', '', 'F', '0', '1', 'shop:cate:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1066, '商城商品分类删除', 1062, 4, '#', '', 'F', '0', '1', 'shop:cate:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1067, '产品品牌', 1061, 1, '/shop/brand', '', 'C', '0', '1', 'shop:brand:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '产品品牌菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1068, '产品品牌查询', 1067, 1, '#', '', 'F', '0', '1', 'shop:brand:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1069, '产品品牌新增', 1067, 2, '#', '', 'F', '0', '1', 'shop:brand:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1070, '产品品牌修改', 1067, 3, '#', '', 'F', '0', '1', 'shop:brand:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1071, '产品品牌删除', 1067, 4, '#', '', 'F', '0', '1', 'shop:brand:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1072, '商品类型(商品模型)', 1061, 1, '/shop/type', '', 'C', '0', '1', 'shop:type:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商品类型(商品模型)菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1073, '商品类型(商品模型)查询', 1072, 1, '#', '', 'F', '0', '1', 'shop:type:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1074, '商品类型(商品模型)新增', 1072, 2, '#', '', 'F', '0', '1', 'shop:type:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1075, '商品类型(商品模型)修改', 1072, 3, '#', '', 'F', '0', '1', 'shop:type:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1076, '商品类型(商品模型)删除', 1072, 4, '#', '', 'F', '0', '1', 'shop:type:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1077, '商品的属性', 1061, 1, '/shop/attribute', '', 'C', '0', '1', 'shop:attribute:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商品的属性(独立)菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1078, '商品的属性查询', 1077, 1, '#', '', 'F', '0', '1', 'shop:attribute:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1079, '商品的属性新增', 1077, 2, '#', '', 'F', '0', '1', 'shop:attribute:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1080, '商品的属性修改', 1077, 3, '#', '', 'F', '0', '1', 'shop:attribute:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1081, '商品的属性删除', 1077, 4, '#', '', 'F', '0', '1', 'shop:attribute:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1082, '商品规格', 1061, 1, '/shop/spec', '', 'C', '0', '1', 'shop:spec:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商品规格(独立)菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1083, '商品规格查询', 1082, 1, '#', '', 'F', '0', '1', 'shop:spec:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1084, '商品规格新增', 1082, 2, '#', '', 'F', '0', '1', 'shop:spec:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1085, '商品规格修改', 1082, 3, '#', '', 'F', '0', '1', 'shop:spec:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1086, '商品规格删除', 1082, 4, '#', '', 'F', '0', '1', 'shop:spec:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1087, '商品管理', 1061, 1, '/shop/goods', '', 'C', '0', '1', 'shop:goods:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商品主菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1088, '商品查询', 1087, 1, '#', '', 'F', '0', '1', 'shop:goods:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1089, '商品新增', 1087, 2, '#', '', 'F', '0', '1', 'shop:goods:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1090, '商品修改', 1087, 3, '#', '', 'F', '0', '1', 'shop:goods:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1091, '商品删除', 1087, 4, '#', '', 'F', '0', '1', 'shop:goods:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1092, '优惠券', 1061, 1, '/shop/coupon', '', 'C', '0', '1', 'shop:coupon:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '优惠券主菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1093, '优惠券查询', 1092, 1, '#', '', 'F', '0', '1', 'shop:coupon:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1094, '优惠券新增', 1092, 2, '#', '', 'F', '0', '1', 'shop:coupon:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1095, '优惠券修改', 1092, 3, '#', '', 'F', '0', '1', 'shop:coupon:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1096, '优惠券删除', 1092, 4, '#', '', 'F', '0', '1', 'shop:coupon:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1097, '订单管理', 1061, 1, '/shop/order', '', 'C', '0', '1', 'shop:order:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '订单主菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1098, '订单查询', 1097, 1, '#', '', 'F', '0', '1', 'shop:order:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1099, '订单新增', 1097, 2, '#', '', 'F', '0', '1', 'shop:order:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1100, '订单修改', 1097, 3, '#', '', 'F', '0', '1', 'shop:order:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1101, '订单删除', 1097, 4, '#', '', 'F', '0', '1', 'shop:order:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1102, '会员信息', 1061, 1, '/shop/member', '', 'C', '0', '1', 'shop:member:view', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '商城会员信息菜单');
|
||||
INSERT INTO `sys_menu` VALUES (1103, '会员信息查询', 1102, 1, '#', '', 'F', '0', '1', 'shop:member:list', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1104, '会员信息新增', 1102, 2, '#', '', 'F', '0', '1', 'shop:member:add', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1105, '会员信息修改', 1102, 3, '#', '', 'F', '0', '1', 'shop:member:edit', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
INSERT INTO `sys_menu` VALUES (1106, '会员信息删除', 1102, 4, '#', '', 'F', '0', '1', 'shop:member:remove', '#', 'admin', '2018-03-01 00:00:00', 'ry', '2018-03-01 00:00:00', '');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_notice
|
||||
@@ -2919,6 +2878,7 @@ CREATE TABLE `sys_oper_log` (
|
||||
`title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '模块标题',
|
||||
`business_type` int(2) NULL DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)',
|
||||
`method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '方法名称',
|
||||
`request_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
||||
`operator_type` int(1) NULL DEFAULT 0 COMMENT '操作类别(0其它 1后台用户 2手机端用户)',
|
||||
`oper_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作人员',
|
||||
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '部门名称',
|
||||
@@ -2935,64 +2895,64 @@ CREATE TABLE `sys_oper_log` (
|
||||
-- ----------------------------
|
||||
-- Records of sys_oper_log
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_oper_log` VALUES (1, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_cate\" ]\r\n}', 0, NULL, '2019-08-22 09:59:25');
|
||||
INSERT INTO `sys_oper_log` VALUES (2, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 10:00:12');
|
||||
INSERT INTO `sys_oper_log` VALUES (3, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 10:00:43');
|
||||
INSERT INTO `sys_oper_log` VALUES (4, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品分类\" ],\r\n \"column', 0, NULL, '2019-08-22 10:05:28');
|
||||
INSERT INTO `sys_oper_log` VALUES (5, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 10:05:35');
|
||||
INSERT INTO `sys_oper_log` VALUES (6, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\r\n \"parentId\" : [ \"0\" ],\r\n \"menuType\" : [ \"M\" ],\r\n \"menuName\" : [ \"商城管理\" ],\r\n \"url\" : [ \"\" ],\r\n \"target\" : [ \"menuItem\" ],\r\n \"perms\" : [ \"\" ],\r\n \"orderNum\" : [ \"4\" ],\r\n \"icon\" : [ \"fa fa-shopping-cart\" ],\r\n \"visible\" : [ \"0\" ]\r\n}', 0, NULL, '2019-08-22 10:14:45');
|
||||
INSERT INTO `sys_oper_log` VALUES (7, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品分类\" ],\r\n \"column', 0, NULL, '2019-08-22 10:17:16');
|
||||
INSERT INTO `sys_oper_log` VALUES (8, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品分类\" ],\r\n \"column', 0, NULL, '2019-08-22 10:19:09');
|
||||
INSERT INTO `sys_oper_log` VALUES (9, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 10:20:33');
|
||||
INSERT INTO `sys_oper_log` VALUES (10, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', NULL, '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品分类\" ],\r\n \"column', 0, NULL, '2019-08-22 10:55:55');
|
||||
INSERT INTO `sys_oper_log` VALUES (11, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', NULL, '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品描述\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"cateDesc\" ],\r\n \"columns[4].isInsert\" : [ \"1\" ],\r\n \"columns[4].isEdit\" : [ \"', 0, NULL, '2019-08-22 11:03:23');
|
||||
INSERT INTO `sys_oper_log` VALUES (12, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', NULL, '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品描述\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"cateDesc\" ],\r\n \"columns[4].isInsert\" : [ \"1\" ],\r\n \"columns[4].isEdit\" : [ \"', 0, NULL, '2019-08-22 11:04:52');
|
||||
INSERT INTO `sys_oper_log` VALUES (13, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', NULL, '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 11:05:41');
|
||||
INSERT INTO `sys_oper_log` VALUES (14, '商城商品分类', 1, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.addSave()', 1, 'admin', '研发部门', '/shop/cate/add', '127.0.0.1', '内网IP', '{\r\n \"pid\" : [ \"1\" ],\r\n \"cateTitle\" : [ \"背心\" ],\r\n \"cateDesc\" : [ \"44\" ],\r\n \"imgUrl\" : [ \"http://127.0.0.1:8080/profile/upload/2019/08/23/2e593ef4098a5c1758c11e2539f5962b.png\" ],\r\n \"sort\" : [ \"\" ]\r\n}', 0, NULL, '2019-08-23 17:44:50');
|
||||
INSERT INTO `sys_oper_log` VALUES (15, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_brand\" ]\r\n}', 0, NULL, '2019-08-23 18:21:25');
|
||||
INSERT INTO `sys_oper_log` VALUES (16, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"2\" ],\r\n \"tableName\" : [ \"store_goods_brand\" ],\r\n \"tableComment\" : [ \"产品品牌\" ],\r\n \"className\" : [ \"StoreGoodsBrand\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"11\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"12\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"品牌logo\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"brandLogo\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"textarea\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"13\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌封面\" ],\r\n \"columns[2].javaType\" : [ \"String\" ],\r\n \"columns[2].javaField\" : [ \"brandCover\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"textarea\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"14\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品品牌名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"brandTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"15\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品品牌描述\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"brandDesc\" ],\r\n \"columns[4].isInsert\" : [ \"1\" ],\r\n \"columns[4].isEdit\" : [ \"1\" ],\r\n \"columns[4].queryType\" : [ \"EQ\" ', 0, NULL, '2019-08-23 18:24:11');
|
||||
INSERT INTO `sys_oper_log` VALUES (17, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_brand', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-23 18:24:56');
|
||||
INSERT INTO `sys_oper_log` VALUES (18, '产品品牌', 1, 'com.ruoyi.web.controller.shop.StoreGoodsBrandController.addSave()', 1, 'admin', '研发部门', '/shop/brand/add', '127.0.0.1', '内网IP', '{\r\n \"brandLogo\" : [ \"http://127.0.0.1:8080/profile/upload/2019/08/23/079702428f13f5c9b5acb1c5cec16b9d.jpeg\" ],\r\n \"brandTitle\" : [ \"logo\" ],\r\n \"brandDesc\" : [ \"\" ]\r\n}', 0, NULL, '2019-08-23 18:37:20');
|
||||
INSERT INTO `sys_oper_log` VALUES (19, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_type\" ]\r\n}', 0, NULL, '2019-08-24 14:16:00');
|
||||
INSERT INTO `sys_oper_log` VALUES (20, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"3\" ],\r\n \"tableName\" : [ \"store_goods_type\" ],\r\n \"tableComment\" : [ \"商品类型(商品模型)表\" ],\r\n \"className\" : [ \"StoreGoodsType\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"21\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"id自增\" ],\r\n \"columns[0].javaType\" : [ \"Integer\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"22\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"类型名称\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"name\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"LIKE\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"tplCategory\" : [ \"crud\" ],\r\n \"packageName\" : [ \"com.ruoyi.shop\" ],\r\n \"moduleName\" : [ \"shop\" ],\r\n \"businessName\" : [ \"type\" ],\r\n \"functionName\" : [ \"商品类型(商品模型)\" ],\r\n \"params[treeCode]\" : [ \"\" ],\r\n \"params[treeParentCode]\" : [ \"\" ],\r\n \"params[treeName]\" : [ \"\" ]\r\n}', 0, NULL, '2019-08-24 14:16:23');
|
||||
INSERT INTO `sys_oper_log` VALUES (21, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_type', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-24 14:16:29');
|
||||
INSERT INTO `sys_oper_log` VALUES (22, '商品类型(商品模型)', 1, 'com.ruoyi.web.controller.shop.StoreGoodsTypeController.addSave()', 1, 'admin', '研发部门', '/shop/type/add', '127.0.0.1', '内网IP', '{\r\n \"name\" : [ \"手机\" ]\r\n}', 0, NULL, '2019-08-24 14:39:12');
|
||||
INSERT INTO `sys_oper_log` VALUES (23, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_attribute\" ]\r\n}', 0, NULL, '2019-08-24 14:44:41');
|
||||
INSERT INTO `sys_oper_log` VALUES (24, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"4\" ],\r\n \"tableName\" : [ \"store_goods_attribute\" ],\r\n \"tableComment\" : [ \"商品的属性表(独立)\" ],\r\n \"className\" : [ \"StoreGoodsAttribute\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"23\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"属性id\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"attrId\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"24\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"属性名称\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"attrName\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"LIKE\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"25\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"属性分类id(商品模型id)\" ],\r\n \"columns[2].javaType\" : [ \"Integer\" ],\r\n \"columns[2].javaField\" : [ \"typeId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].isRequired\" : [ \"1\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"26\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"0不需要检索 1关键字检索 2范围检索\" ],\r\n \"columns[3].javaType\" : [ \"Integer\" ],\r\n \"columns[3].javaField\" : [ \"attrIndex\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].isRequired\" : [ \"1\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"27\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"0唯一属性 1单选属性 2复选属性\" ],\r\n', 0, NULL, '2019-08-24 14:47:04');
|
||||
INSERT INTO `sys_oper_log` VALUES (25, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_attribute', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-24 14:48:38');
|
||||
INSERT INTO `sys_oper_log` VALUES (26, '商品的属性(独立)', 1, 'com.ruoyi.web.controller.shop.StoreGoodsAttributeController.addSave()', 1, 'admin', '研发部门', '/shop/attribute/add', '127.0.0.1', '内网IP', '{\r\n \"attrName\" : [ \"内存\" ],\r\n \"typeId\" : [ \"40\" ]\r\n}', 1, '\r\n### Error updating database. Cause: java.sql.SQLException: Field \'attr_values\' doesn\'t have a default value\r\n### The error may involve com.ruoyi.shop.mapper.StoreGoodsAttributeMapper.insertStoreGoodsAttribute-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into store_goods_attribute ( attr_name, type_id ) values ( ?, ? )\r\n### Cause: java.sql.SQLException: Field \'attr_values\' doesn\'t have a default value\n; Field \'attr_values\' doesn\'t have a default value; nested exception is java.sql.SQLException: Field \'attr_values\' doesn\'t have a default value', '2019-08-24 16:03:59');
|
||||
INSERT INTO `sys_oper_log` VALUES (27, '商品的属性(独立)', 1, 'com.ruoyi.web.controller.shop.StoreGoodsAttributeController.addSave()', 1, 'admin', '研发部门', '/shop/attribute/add', '127.0.0.1', '内网IP', '{\r\n \"attrName\" : [ \"内存\" ],\r\n \"typeId\" : [ \"40\" ]\r\n}', 0, NULL, '2019-08-24 16:05:02');
|
||||
INSERT INTO `sys_oper_log` VALUES (28, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_spec_item,store_spec_goods_price,store_spec\" ]\r\n}', 0, NULL, '2019-08-25 09:40:12');
|
||||
INSERT INTO `sys_oper_log` VALUES (29, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"5\" ],\r\n \"tableName\" : [ \"store_spec\" ],\r\n \"tableComment\" : [ \"商品规格表(独立)\" ],\r\n \"className\" : [ \"StoreSpec\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"31\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"规格表\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"32\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"规格类型\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"typeId\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"select\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"33\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"规格名称\" ],\r\n \"columns[2].javaType\" : [ \"String\" ],\r\n \"columns[2].javaField\" : [ \"name\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"LIKE\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"34\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"排序\" ],\r\n \"columns[3].javaType\" : [ \"Long\" ],\r\n \"columns[3].javaField\" : [ \"sort\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"35\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"是否需要检索:1是,0否\" ],\r\n \"columns[4].javaType\" : [ \"Integer\" ],\r\n \"columns[4].javaField\" : [ \"searchIndex\" ],\r\n \"columns[4].queryType\" : [ \"EQ\" ],\r\n \"columns[4].htmlType\" : [ \"input\" ],\r\n \"columns[4].dictTy', 0, NULL, '2019-08-25 09:45:36');
|
||||
INSERT INTO `sys_oper_log` VALUES (30, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_spec', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-25 09:45:42');
|
||||
INSERT INTO `sys_oper_log` VALUES (31, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_spec_item', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-25 10:07:15');
|
||||
INSERT INTO `sys_oper_log` VALUES (32, '商品规格(独立)', 1, 'com.ruoyi.web.controller.shop.StoreSpecController.addSave()', 1, 'admin', '研发部门', '/shop/spec/add', '127.0.0.1', '内网IP', '{\r\n \"typeId\" : [ \"40\" ],\r\n \"name\" : [ \"内存\" ],\r\n \"specItem\" : [ \"1G\\r\\n4G\\r\\n8G\" ]\r\n}', 0, NULL, '2019-08-25 11:01:53');
|
||||
INSERT INTO `sys_oper_log` VALUES (33, '商品规格(独立)', 2, 'com.ruoyi.web.controller.shop.StoreSpecController.editSave()', 1, 'admin', '研发部门', '/shop/spec/edit', '127.0.0.1', '内网IP', '{\r\n \"id\" : [ \"5\" ],\r\n \"typeId\" : [ \"40\" ],\r\n \"name\" : [ \"内存\" ],\r\n \"specItem\" : [ \"1G\\r\\n4G\\r\\n8G\\r\\n12G\" ]\r\n}', 0, NULL, '2019-08-25 12:09:26');
|
||||
INSERT INTO `sys_oper_log` VALUES (34, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods\" ]\r\n}', 0, NULL, '2019-08-25 14:00:15');
|
||||
INSERT INTO `sys_oper_log` VALUES (35, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"8\" ],\r\n \"tableName\" : [ \"store_goods\" ],\r\n \"tableComment\" : [ \"商品主表\" ],\r\n \"className\" : [ \"StoreGoods\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"51\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"商品id\" ],\r\n \"columns[0].javaType\" : [ \"Integer\" ],\r\n \"columns[0].javaField\" : [ \"goodsId\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"52\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"分类id\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"cateId\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"select\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"53\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"扩展分类id\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"extendCatId\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"54\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品编号\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"goodsSn\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].isRequired\" : [ \"1\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"55\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品名称\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"goodsName\" ],\r\n \"columns[4].i', 0, NULL, '2019-08-25 14:14:00');
|
||||
INSERT INTO `sys_oper_log` VALUES (36, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-25 14:14:06');
|
||||
INSERT INTO `sys_oper_log` VALUES (37, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 1, 'admin', '研发部门', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_spec_goods_price,store_spec_item\" ]\r\n}', 0, NULL, '2019-08-26 13:32:47');
|
||||
INSERT INTO `sys_oper_log` VALUES (38, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_attr\" ]\r\n}', 0, NULL, '2019-08-26 13:38:55');
|
||||
INSERT INTO `sys_oper_log` VALUES (39, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_attr', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-26 13:39:30');
|
||||
INSERT INTO `sys_oper_log` VALUES (40, '商品主', 1, 'com.ruoyi.web.controller.shop.StoreGoodsController.addSave()', 1, 'admin', '研发部门', '/shop/goods/add', '127.0.0.1', '内网IP', '{\r\n \"cateId\" : [ \"11\" ],\r\n \"brandId\" : [ \"1\" ],\r\n \"goodsSn\" : [ \"#1008611\" ],\r\n \"goodsName\" : [ \"测试商品规格\" ],\r\n \"goodsLogo\" : [ \"\" ],\r\n \"marketPrice\" : [ \"100\" ],\r\n \"shopPrice\" : [ \"20\" ],\r\n \"keywords\" : [ \"复印\" ],\r\n \"goodsRemark\" : [ \"描述\" ],\r\n \"goodsContent\" : [ \"\" ],\r\n \"sort\" : [ \"1\" ]\r\n}', 0, NULL, '2019-08-28 17:11:19');
|
||||
INSERT INTO `sys_oper_log` VALUES (41, '角色管理', 2, 'com.ruoyi.web.controller.system.SysRoleController.authDataScopeSave()', 1, 'admin', '研发部门', '/system/role/authDataScope', '127.0.0.1', '内网IP', '{\r\n \"roleId\" : [ \"2\" ],\r\n \"roleName\" : [ \"普通角色\" ],\r\n \"roleKey\" : [ \"common\" ],\r\n \"dataScope\" : [ \"2\" ],\r\n \"deptIds\" : [ \"100,101,105\" ]\r\n}', 0, NULL, '2019-08-28 18:28:27');
|
||||
INSERT INTO `sys_oper_log` VALUES (42, '角色管理', 2, 'com.ruoyi.web.controller.system.SysRoleController.authDataScopeSave()', 1, 'admin', '研发部门', '/system/role/authDataScope', '127.0.0.1', '内网IP', '{\r\n \"roleId\" : [ \"2\" ],\r\n \"roleName\" : [ \"普通角色\" ],\r\n \"roleKey\" : [ \"common\" ],\r\n \"dataScope\" : [ \"2\" ],\r\n \"deptIds\" : [ \"100,101,103,104,105,102,108,109\" ]\r\n}', 0, NULL, '2019-08-28 18:29:39');
|
||||
INSERT INTO `sys_oper_log` VALUES (43, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_coupon_list,store_coupon\" ]\r\n}', 0, NULL, '2019-08-29 19:16:19');
|
||||
INSERT INTO `sys_oper_log` VALUES (44, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"10\" ],\r\n \"tableName\" : [ \"store_coupon\" ],\r\n \"tableComment\" : [ \"优惠券主表\" ],\r\n \"className\" : [ \"StoreCoupon\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"101\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"表id\" ],\r\n \"columns[0].javaType\" : [ \"Integer\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"102\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"优惠券名字\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"name\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"LIKE\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"103\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"发放类型 0下单赠送1 指定发放 2 免费领取 3线下发放\" ],\r\n \"columns[2].javaType\" : [ \"Integer\" ],\r\n \"columns[2].javaField\" : [ \"type\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].isRequired\" : [ \"1\" ],\r\n \"columns[2].htmlType\" : [ \"select\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"104\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"优惠券金额\" ],\r\n \"columns[3].javaType\" : [ \"Double\" ],\r\n \"columns[3].javaField\" : [ \"money\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].isRequired\" : [ \"1\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"105\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"使用条件,满多少金额\" ],\r\n \"columns[4].javaType\" : [ \"Doub', 0, NULL, '2019-08-29 19:22:06');
|
||||
INSERT INTO `sys_oper_log` VALUES (45, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 1, 'admin', '研发部门', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_coupon,store_coupon_list\" ]\r\n}', 0, NULL, '2019-08-29 19:22:15');
|
||||
INSERT INTO `sys_oper_log` VALUES (46, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_order_goods_remark,store_order_goods,store_order\" ]\r\n}', 0, NULL, '2019-08-29 19:45:10');
|
||||
INSERT INTO `sys_oper_log` VALUES (47, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"12\" ],\r\n \"tableName\" : [ \"store_order\" ],\r\n \"tableComment\" : [ \"订单主表\" ],\r\n \"className\" : [ \"StoreOrder\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"126\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"订单id\" ],\r\n \"columns[0].javaType\" : [ \"Integer\" ],\r\n \"columns[0].javaField\" : [ \"orderId\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"127\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"订单编号\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"orderSn\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"128\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"用户id\" ],\r\n \"columns[2].javaType\" : [ \"Integer\" ],\r\n \"columns[2].javaField\" : [ \"userId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].isRequired\" : [ \"1\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"129\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"订单状态 0-未确认 1-已确认(已收货) 2-已评价\" ],\r\n \"columns[3].javaType\" : [ \"Integer\" ],\r\n \"columns[3].javaField\" : [ \"orderStatus\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].isRequired\" : [ \"1\" ],\r\n \"columns[3].htmlType\" : [ \"radio\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"130\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"col', 0, NULL, '2019-08-29 19:53:53');
|
||||
INSERT INTO `sys_oper_log` VALUES (48, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 1, 'admin', '研发部门', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_order_goods,store_order_goods_remark,store_order\" ]\r\n}', 0, NULL, '2019-08-29 19:54:10');
|
||||
INSERT INTO `sys_oper_log` VALUES (49, '优惠券主', 1, 'com.ruoyi.web.controller.shop.StoreCouponController.addSave()', 1, 'admin', '研发部门', '/shop/coupon/add', '127.0.0.1', '内网IP', '{\r\n \"name\" : [ \"五一促销1\" ],\r\n \"money\" : [ \"10.00\" ],\r\n \"condition\" : [ \"100.00\" ],\r\n \"createnum\" : [ \"1000\" ],\r\n \"useStartTime\" : [ \"2019-08-21\" ],\r\n \"useEndTime\" : [ \"2019-09-04\" ]\r\n}', 0, NULL, '2019-08-30 10:36:43');
|
||||
INSERT INTO `sys_oper_log` VALUES (50, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_member\" ]\r\n}', 0, NULL, '2019-08-30 13:40:31');
|
||||
INSERT INTO `sys_oper_log` VALUES (51, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"15\" ],\r\n \"tableName\" : [ \"store_member\" ],\r\n \"tableComment\" : [ \"商城会员信息\" ],\r\n \"className\" : [ \"StoreMember\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"202\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"203\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"vip编号\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"vipNo\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"204\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"会员微信OPENID\" ],\r\n \"columns[2].javaType\" : [ \"String\" ],\r\n \"columns[2].javaField\" : [ \"openid\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"205\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"会员手机号\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"phone\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"206\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"登录密码\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"password\" ],\r\n \"columns[4].queryType\" : [ \"EQ\" ],\r\n \"columns[4].htmlType\" : [ \"input\" ],\r\n \"columns[4].dictType\" : [ \"\" ],\r\n \"columns[5].columnId\" : [ \"207\" ],\r\n \"colu', 0, NULL, '2019-08-30 13:44:56');
|
||||
INSERT INTO `sys_oper_log` VALUES (52, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', 1, 'admin', '研发部门', '/tool/gen/genCode/store_member', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-30 13:45:19');
|
||||
INSERT INTO `sys_oper_log` VALUES (53, '订单主', 3, 'com.ruoyi.web.controller.shop.StoreOrderController.remove()', 1, 'admin', '研发部门', '/shop/order/remove', '127.0.0.1', '内网IP', '{\r\n \"ids\" : [ \"1639\" ]\r\n}', 0, NULL, '2019-08-30 14:54:48');
|
||||
INSERT INTO `sys_oper_log` VALUES (54, '订单主', 2, 'com.ruoyi.web.controller.shop.StoreOrderController.editSave()', 1, 'admin', '研发部门', '/shop/order/edit', '127.0.0.1', '内网IP', '{\r\n \"orderId\" : [ \"1639\" ],\r\n \"shippingCode\" : [ \"778845475\" ],\r\n \"shippingName\" : [ \"顺丰1\" ]\r\n}', 0, NULL, '2019-08-30 15:47:51');
|
||||
INSERT INTO `sys_oper_log` VALUES (55, '商城商品分类', 3, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.remove()', 1, 'admin', '研发部门', '/shop/cate/remove/1', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-09-23 15:45:39');
|
||||
INSERT INTO `sys_oper_log` VALUES (56, '商城商品分类', 3, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.remove()', 1, 'admin', '研发部门', '/shop/cate/remove/2', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-09-23 15:46:09');
|
||||
INSERT INTO `sys_oper_log` VALUES (57, '商城商品分类', 3, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.remove()', 1, 'admin', '研发部门', '/shop/cate/remove/3', '127.0.0.1', '内网IP', '{ }', 1, '请先删除子分类', '2019-09-23 15:56:43');
|
||||
INSERT INTO `sys_oper_log` VALUES (58, '商城商品分类', 3, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.remove()', 1, 'admin', '研发部门', '/shop/cate/remove/3', '127.0.0.1', '内网IP', '{ }', 1, '请先删除子分类', '2019-09-23 15:56:49');
|
||||
INSERT INTO `sys_oper_log` VALUES (1, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_cate\" ]\r\n}', 0, NULL, '2019-08-22 09:59:25');
|
||||
INSERT INTO `sys_oper_log` VALUES (2, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 10:00:12');
|
||||
INSERT INTO `sys_oper_log` VALUES (3, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 10:00:43');
|
||||
INSERT INTO `sys_oper_log` VALUES (4, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品分类\" ],\r\n \"column', 0, NULL, '2019-08-22 10:05:28');
|
||||
INSERT INTO `sys_oper_log` VALUES (5, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 10:05:35');
|
||||
INSERT INTO `sys_oper_log` VALUES (6, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', '', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\r\n \"parentId\" : [ \"0\" ],\r\n \"menuType\" : [ \"M\" ],\r\n \"menuName\" : [ \"商城管理\" ],\r\n \"url\" : [ \"\" ],\r\n \"target\" : [ \"menuItem\" ],\r\n \"perms\" : [ \"\" ],\r\n \"orderNum\" : [ \"4\" ],\r\n \"icon\" : [ \"fa fa-shopping-cart\" ],\r\n \"visible\" : [ \"0\" ]\r\n}', 0, NULL, '2019-08-22 10:14:45');
|
||||
INSERT INTO `sys_oper_log` VALUES (7, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品分类\" ],\r\n \"column', 0, NULL, '2019-08-22 10:17:16');
|
||||
INSERT INTO `sys_oper_log` VALUES (8, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品分类\" ],\r\n \"column', 0, NULL, '2019-08-22 10:19:09');
|
||||
INSERT INTO `sys_oper_log` VALUES (9, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 10:20:33');
|
||||
INSERT INTO `sys_oper_log` VALUES (10, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', NULL, '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品分类\" ],\r\n \"column', 0, NULL, '2019-08-22 10:55:55');
|
||||
INSERT INTO `sys_oper_log` VALUES (11, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', NULL, '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品描述\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"cateDesc\" ],\r\n \"columns[4].isInsert\" : [ \"1\" ],\r\n \"columns[4].isEdit\" : [ \"', 0, NULL, '2019-08-22 11:03:23');
|
||||
INSERT INTO `sys_oper_log` VALUES (12, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', NULL, '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"1\" ],\r\n \"tableName\" : [ \"store_goods_cate\" ],\r\n \"tableComment\" : [ \"商城商品分类\" ],\r\n \"className\" : [ \"StoreGoodsCate\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"1\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"2\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"上级分类编号\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"pid\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"3\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌ID\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"brandId\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"4\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品分类名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"cateTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"5\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品描述\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"cateDesc\" ],\r\n \"columns[4].isInsert\" : [ \"1\" ],\r\n \"columns[4].isEdit\" : [ \"', 0, NULL, '2019-08-22 11:04:52');
|
||||
INSERT INTO `sys_oper_log` VALUES (13, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', NULL, '/tool/gen/genCode/store_goods_cate', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-22 11:05:41');
|
||||
INSERT INTO `sys_oper_log` VALUES (14, '商城商品分类', 1, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.addSave()', '', 1, 'admin', '研发部门', '/shop/cate/add', '127.0.0.1', '内网IP', '{\r\n \"pid\" : [ \"1\" ],\r\n \"cateTitle\" : [ \"背心\" ],\r\n \"cateDesc\" : [ \"44\" ],\r\n \"imgUrl\" : [ \"http://127.0.0.1:8080/profile/upload/2019/08/23/2e593ef4098a5c1758c11e2539f5962b.png\" ],\r\n \"sort\" : [ \"\" ]\r\n}', 0, NULL, '2019-08-23 17:44:50');
|
||||
INSERT INTO `sys_oper_log` VALUES (15, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_brand\" ]\r\n}', 0, NULL, '2019-08-23 18:21:25');
|
||||
INSERT INTO `sys_oper_log` VALUES (16, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"2\" ],\r\n \"tableName\" : [ \"store_goods_brand\" ],\r\n \"tableComment\" : [ \"产品品牌\" ],\r\n \"className\" : [ \"StoreGoodsBrand\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"11\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"12\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"品牌logo\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"brandLogo\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"textarea\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"13\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"品牌封面\" ],\r\n \"columns[2].javaType\" : [ \"String\" ],\r\n \"columns[2].javaField\" : [ \"brandCover\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"textarea\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"14\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品品牌名称\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"brandTitle\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"15\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品品牌描述\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"brandDesc\" ],\r\n \"columns[4].isInsert\" : [ \"1\" ],\r\n \"columns[4].isEdit\" : [ \"1\" ],\r\n \"columns[4].queryType\" : [ \"EQ\" ', 0, NULL, '2019-08-23 18:24:11');
|
||||
INSERT INTO `sys_oper_log` VALUES (17, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_brand', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-23 18:24:56');
|
||||
INSERT INTO `sys_oper_log` VALUES (18, '产品品牌', 1, 'com.ruoyi.web.controller.shop.StoreGoodsBrandController.addSave()', '', 1, 'admin', '研发部门', '/shop/brand/add', '127.0.0.1', '内网IP', '{\r\n \"brandLogo\" : [ \"http://127.0.0.1:8080/profile/upload/2019/08/23/079702428f13f5c9b5acb1c5cec16b9d.jpeg\" ],\r\n \"brandTitle\" : [ \"logo\" ],\r\n \"brandDesc\" : [ \"\" ]\r\n}', 0, NULL, '2019-08-23 18:37:20');
|
||||
INSERT INTO `sys_oper_log` VALUES (19, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_type\" ]\r\n}', 0, NULL, '2019-08-24 14:16:00');
|
||||
INSERT INTO `sys_oper_log` VALUES (20, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"3\" ],\r\n \"tableName\" : [ \"store_goods_type\" ],\r\n \"tableComment\" : [ \"商品类型(商品模型)表\" ],\r\n \"className\" : [ \"StoreGoodsType\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"21\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"id自增\" ],\r\n \"columns[0].javaType\" : [ \"Integer\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"22\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"类型名称\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"name\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"LIKE\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"tplCategory\" : [ \"crud\" ],\r\n \"packageName\" : [ \"com.ruoyi.shop\" ],\r\n \"moduleName\" : [ \"shop\" ],\r\n \"businessName\" : [ \"type\" ],\r\n \"functionName\" : [ \"商品类型(商品模型)\" ],\r\n \"params[treeCode]\" : [ \"\" ],\r\n \"params[treeParentCode]\" : [ \"\" ],\r\n \"params[treeName]\" : [ \"\" ]\r\n}', 0, NULL, '2019-08-24 14:16:23');
|
||||
INSERT INTO `sys_oper_log` VALUES (21, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_type', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-24 14:16:29');
|
||||
INSERT INTO `sys_oper_log` VALUES (22, '商品类型(商品模型)', 1, 'com.ruoyi.web.controller.shop.StoreGoodsTypeController.addSave()', '', 1, 'admin', '研发部门', '/shop/type/add', '127.0.0.1', '内网IP', '{\r\n \"name\" : [ \"手机\" ]\r\n}', 0, NULL, '2019-08-24 14:39:12');
|
||||
INSERT INTO `sys_oper_log` VALUES (23, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_attribute\" ]\r\n}', 0, NULL, '2019-08-24 14:44:41');
|
||||
INSERT INTO `sys_oper_log` VALUES (24, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"4\" ],\r\n \"tableName\" : [ \"store_goods_attribute\" ],\r\n \"tableComment\" : [ \"商品的属性表(独立)\" ],\r\n \"className\" : [ \"StoreGoodsAttribute\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"23\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"属性id\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"attrId\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"24\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"属性名称\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"attrName\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"LIKE\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"25\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"属性分类id(商品模型id)\" ],\r\n \"columns[2].javaType\" : [ \"Integer\" ],\r\n \"columns[2].javaField\" : [ \"typeId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].isRequired\" : [ \"1\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"26\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"0不需要检索 1关键字检索 2范围检索\" ],\r\n \"columns[3].javaType\" : [ \"Integer\" ],\r\n \"columns[3].javaField\" : [ \"attrIndex\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].isRequired\" : [ \"1\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"27\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"0唯一属性 1单选属性 2复选属性\" ],\r\n', 0, NULL, '2019-08-24 14:47:04');
|
||||
INSERT INTO `sys_oper_log` VALUES (25, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_attribute', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-24 14:48:38');
|
||||
INSERT INTO `sys_oper_log` VALUES (26, '商品的属性(独立)', 1, 'com.ruoyi.web.controller.shop.StoreGoodsAttributeController.addSave()', '', 1, 'admin', '研发部门', '/shop/attribute/add', '127.0.0.1', '内网IP', '{\r\n \"attrName\" : [ \"内存\" ],\r\n \"typeId\" : [ \"40\" ]\r\n}', 1, '\r\n### Error updating database. Cause: java.sql.SQLException: Field \'attr_values\' doesn\'t have a default value\r\n### The error may involve com.ruoyi.shop.mapper.StoreGoodsAttributeMapper.insertStoreGoodsAttribute-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into store_goods_attribute ( attr_name, type_id ) values ( ?, ? )\r\n### Cause: java.sql.SQLException: Field \'attr_values\' doesn\'t have a default value\n; Field \'attr_values\' doesn\'t have a default value; nested exception is java.sql.SQLException: Field \'attr_values\' doesn\'t have a default value', '2019-08-24 16:03:59');
|
||||
INSERT INTO `sys_oper_log` VALUES (27, '商品的属性(独立)', 1, 'com.ruoyi.web.controller.shop.StoreGoodsAttributeController.addSave()', '', 1, 'admin', '研发部门', '/shop/attribute/add', '127.0.0.1', '内网IP', '{\r\n \"attrName\" : [ \"内存\" ],\r\n \"typeId\" : [ \"40\" ]\r\n}', 0, NULL, '2019-08-24 16:05:02');
|
||||
INSERT INTO `sys_oper_log` VALUES (28, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_spec_item,store_spec_goods_price,store_spec\" ]\r\n}', 0, NULL, '2019-08-25 09:40:12');
|
||||
INSERT INTO `sys_oper_log` VALUES (29, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"5\" ],\r\n \"tableName\" : [ \"store_spec\" ],\r\n \"tableComment\" : [ \"商品规格表(独立)\" ],\r\n \"className\" : [ \"StoreSpec\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"31\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"规格表\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"32\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"规格类型\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"typeId\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"select\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"33\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"规格名称\" ],\r\n \"columns[2].javaType\" : [ \"String\" ],\r\n \"columns[2].javaField\" : [ \"name\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"LIKE\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"34\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"排序\" ],\r\n \"columns[3].javaType\" : [ \"Long\" ],\r\n \"columns[3].javaField\" : [ \"sort\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"35\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"是否需要检索:1是,0否\" ],\r\n \"columns[4].javaType\" : [ \"Integer\" ],\r\n \"columns[4].javaField\" : [ \"searchIndex\" ],\r\n \"columns[4].queryType\" : [ \"EQ\" ],\r\n \"columns[4].htmlType\" : [ \"input\" ],\r\n \"columns[4].dictTy', 0, NULL, '2019-08-25 09:45:36');
|
||||
INSERT INTO `sys_oper_log` VALUES (30, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_spec', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-25 09:45:42');
|
||||
INSERT INTO `sys_oper_log` VALUES (31, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_spec_item', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-25 10:07:15');
|
||||
INSERT INTO `sys_oper_log` VALUES (32, '商品规格(独立)', 1, 'com.ruoyi.web.controller.shop.StoreSpecController.addSave()', '', 1, 'admin', '研发部门', '/shop/spec/add', '127.0.0.1', '内网IP', '{\r\n \"typeId\" : [ \"40\" ],\r\n \"name\" : [ \"内存\" ],\r\n \"specItem\" : [ \"1G\\r\\n4G\\r\\n8G\" ]\r\n}', 0, NULL, '2019-08-25 11:01:53');
|
||||
INSERT INTO `sys_oper_log` VALUES (33, '商品规格(独立)', 2, 'com.ruoyi.web.controller.shop.StoreSpecController.editSave()', '', 1, 'admin', '研发部门', '/shop/spec/edit', '127.0.0.1', '内网IP', '{\r\n \"id\" : [ \"5\" ],\r\n \"typeId\" : [ \"40\" ],\r\n \"name\" : [ \"内存\" ],\r\n \"specItem\" : [ \"1G\\r\\n4G\\r\\n8G\\r\\n12G\" ]\r\n}', 0, NULL, '2019-08-25 12:09:26');
|
||||
INSERT INTO `sys_oper_log` VALUES (34, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods\" ]\r\n}', 0, NULL, '2019-08-25 14:00:15');
|
||||
INSERT INTO `sys_oper_log` VALUES (35, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"8\" ],\r\n \"tableName\" : [ \"store_goods\" ],\r\n \"tableComment\" : [ \"商品主表\" ],\r\n \"className\" : [ \"StoreGoods\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"51\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"商品id\" ],\r\n \"columns[0].javaType\" : [ \"Integer\" ],\r\n \"columns[0].javaField\" : [ \"goodsId\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"52\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"分类id\" ],\r\n \"columns[1].javaType\" : [ \"Long\" ],\r\n \"columns[1].javaField\" : [ \"cateId\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"select\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"53\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"扩展分类id\" ],\r\n \"columns[2].javaType\" : [ \"Long\" ],\r\n \"columns[2].javaField\" : [ \"extendCatId\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"54\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"商品编号\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"goodsSn\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].isRequired\" : [ \"1\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"55\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"商品名称\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"goodsName\" ],\r\n \"columns[4].i', 0, NULL, '2019-08-25 14:14:00');
|
||||
INSERT INTO `sys_oper_log` VALUES (36, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-25 14:14:06');
|
||||
INSERT INTO `sys_oper_log` VALUES (37, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', '', 1, 'admin', '研发部门', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_spec_goods_price,store_spec_item\" ]\r\n}', 0, NULL, '2019-08-26 13:32:47');
|
||||
INSERT INTO `sys_oper_log` VALUES (38, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_goods_attr\" ]\r\n}', 0, NULL, '2019-08-26 13:38:55');
|
||||
INSERT INTO `sys_oper_log` VALUES (39, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_goods_attr', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-26 13:39:30');
|
||||
INSERT INTO `sys_oper_log` VALUES (40, '商品主', 1, 'com.ruoyi.web.controller.shop.StoreGoodsController.addSave()', '', 1, 'admin', '研发部门', '/shop/goods/add', '127.0.0.1', '内网IP', '{\r\n \"cateId\" : [ \"11\" ],\r\n \"brandId\" : [ \"1\" ],\r\n \"goodsSn\" : [ \"#1008611\" ],\r\n \"goodsName\" : [ \"测试商品规格\" ],\r\n \"goodsLogo\" : [ \"\" ],\r\n \"marketPrice\" : [ \"100\" ],\r\n \"shopPrice\" : [ \"20\" ],\r\n \"keywords\" : [ \"复印\" ],\r\n \"goodsRemark\" : [ \"描述\" ],\r\n \"goodsContent\" : [ \"\" ],\r\n \"sort\" : [ \"1\" ]\r\n}', 0, NULL, '2019-08-28 17:11:19');
|
||||
INSERT INTO `sys_oper_log` VALUES (41, '角色管理', 2, 'com.ruoyi.web.controller.system.SysRoleController.authDataScopeSave()', '', 1, 'admin', '研发部门', '/system/role/authDataScope', '127.0.0.1', '内网IP', '{\r\n \"roleId\" : [ \"2\" ],\r\n \"roleName\" : [ \"普通角色\" ],\r\n \"roleKey\" : [ \"common\" ],\r\n \"dataScope\" : [ \"2\" ],\r\n \"deptIds\" : [ \"100,101,105\" ]\r\n}', 0, NULL, '2019-08-28 18:28:27');
|
||||
INSERT INTO `sys_oper_log` VALUES (42, '角色管理', 2, 'com.ruoyi.web.controller.system.SysRoleController.authDataScopeSave()', '', 1, 'admin', '研发部门', '/system/role/authDataScope', '127.0.0.1', '内网IP', '{\r\n \"roleId\" : [ \"2\" ],\r\n \"roleName\" : [ \"普通角色\" ],\r\n \"roleKey\" : [ \"common\" ],\r\n \"dataScope\" : [ \"2\" ],\r\n \"deptIds\" : [ \"100,101,103,104,105,102,108,109\" ]\r\n}', 0, NULL, '2019-08-28 18:29:39');
|
||||
INSERT INTO `sys_oper_log` VALUES (43, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_coupon_list,store_coupon\" ]\r\n}', 0, NULL, '2019-08-29 19:16:19');
|
||||
INSERT INTO `sys_oper_log` VALUES (44, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"10\" ],\r\n \"tableName\" : [ \"store_coupon\" ],\r\n \"tableComment\" : [ \"优惠券主表\" ],\r\n \"className\" : [ \"StoreCoupon\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"101\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"表id\" ],\r\n \"columns[0].javaType\" : [ \"Integer\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"102\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"优惠券名字\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"name\" ],\r\n \"columns[1].isInsert\" : [ \"1\" ],\r\n \"columns[1].isEdit\" : [ \"1\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"LIKE\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"103\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"发放类型 0下单赠送1 指定发放 2 免费领取 3线下发放\" ],\r\n \"columns[2].javaType\" : [ \"Integer\" ],\r\n \"columns[2].javaField\" : [ \"type\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].isRequired\" : [ \"1\" ],\r\n \"columns[2].htmlType\" : [ \"select\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"104\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"优惠券金额\" ],\r\n \"columns[3].javaType\" : [ \"Double\" ],\r\n \"columns[3].javaField\" : [ \"money\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].isRequired\" : [ \"1\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"105\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"使用条件,满多少金额\" ],\r\n \"columns[4].javaType\" : [ \"Doub', 0, NULL, '2019-08-29 19:22:06');
|
||||
INSERT INTO `sys_oper_log` VALUES (45, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', '', 1, 'admin', '研发部门', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_coupon,store_coupon_list\" ]\r\n}', 0, NULL, '2019-08-29 19:22:15');
|
||||
INSERT INTO `sys_oper_log` VALUES (46, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_order_goods_remark,store_order_goods,store_order\" ]\r\n}', 0, NULL, '2019-08-29 19:45:10');
|
||||
INSERT INTO `sys_oper_log` VALUES (47, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"12\" ],\r\n \"tableName\" : [ \"store_order\" ],\r\n \"tableComment\" : [ \"订单主表\" ],\r\n \"className\" : [ \"StoreOrder\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"126\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"订单id\" ],\r\n \"columns[0].javaType\" : [ \"Integer\" ],\r\n \"columns[0].javaField\" : [ \"orderId\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"127\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"订单编号\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"orderSn\" ],\r\n \"columns[1].isList\" : [ \"1\" ],\r\n \"columns[1].isQuery\" : [ \"1\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].isRequired\" : [ \"1\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"128\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"用户id\" ],\r\n \"columns[2].javaType\" : [ \"Integer\" ],\r\n \"columns[2].javaField\" : [ \"userId\" ],\r\n \"columns[2].isInsert\" : [ \"1\" ],\r\n \"columns[2].isEdit\" : [ \"1\" ],\r\n \"columns[2].isList\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].isRequired\" : [ \"1\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"129\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"订单状态 0-未确认 1-已确认(已收货) 2-已评价\" ],\r\n \"columns[3].javaType\" : [ \"Integer\" ],\r\n \"columns[3].javaField\" : [ \"orderStatus\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].isRequired\" : [ \"1\" ],\r\n \"columns[3].htmlType\" : [ \"radio\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"130\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"col', 0, NULL, '2019-08-29 19:53:53');
|
||||
INSERT INTO `sys_oper_log` VALUES (48, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', '', 1, 'admin', '研发部门', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_order_goods,store_order_goods_remark,store_order\" ]\r\n}', 0, NULL, '2019-08-29 19:54:10');
|
||||
INSERT INTO `sys_oper_log` VALUES (49, '优惠券主', 1, 'com.ruoyi.web.controller.shop.StoreCouponController.addSave()', '', 1, 'admin', '研发部门', '/shop/coupon/add', '127.0.0.1', '内网IP', '{\r\n \"name\" : [ \"五一促销1\" ],\r\n \"money\" : [ \"10.00\" ],\r\n \"condition\" : [ \"100.00\" ],\r\n \"createnum\" : [ \"1000\" ],\r\n \"useStartTime\" : [ \"2019-08-21\" ],\r\n \"useEndTime\" : [ \"2019-09-04\" ]\r\n}', 0, NULL, '2019-08-30 10:36:43');
|
||||
INSERT INTO `sys_oper_log` VALUES (50, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', '', 1, 'admin', '研发部门', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\r\n \"tables\" : [ \"store_member\" ]\r\n}', 0, NULL, '2019-08-30 13:40:31');
|
||||
INSERT INTO `sys_oper_log` VALUES (51, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', '', 1, 'admin', '研发部门', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\r\n \"tableId\" : [ \"15\" ],\r\n \"tableName\" : [ \"store_member\" ],\r\n \"tableComment\" : [ \"商城会员信息\" ],\r\n \"className\" : [ \"StoreMember\" ],\r\n \"functionAuthor\" : [ \"hupeng\" ],\r\n \"remark\" : [ \"\" ],\r\n \"columns[0].columnId\" : [ \"202\" ],\r\n \"columns[0].sort\" : [ \"1\" ],\r\n \"columns[0].columnComment\" : [ \"null\" ],\r\n \"columns[0].javaType\" : [ \"Long\" ],\r\n \"columns[0].javaField\" : [ \"id\" ],\r\n \"columns[0].isInsert\" : [ \"1\" ],\r\n \"columns[0].queryType\" : [ \"EQ\" ],\r\n \"columns[0].htmlType\" : [ \"input\" ],\r\n \"columns[0].dictType\" : [ \"\" ],\r\n \"columns[1].columnId\" : [ \"203\" ],\r\n \"columns[1].sort\" : [ \"2\" ],\r\n \"columns[1].columnComment\" : [ \"vip编号\" ],\r\n \"columns[1].javaType\" : [ \"String\" ],\r\n \"columns[1].javaField\" : [ \"vipNo\" ],\r\n \"columns[1].queryType\" : [ \"EQ\" ],\r\n \"columns[1].htmlType\" : [ \"input\" ],\r\n \"columns[1].dictType\" : [ \"\" ],\r\n \"columns[2].columnId\" : [ \"204\" ],\r\n \"columns[2].sort\" : [ \"3\" ],\r\n \"columns[2].columnComment\" : [ \"会员微信OPENID\" ],\r\n \"columns[2].javaType\" : [ \"String\" ],\r\n \"columns[2].javaField\" : [ \"openid\" ],\r\n \"columns[2].isQuery\" : [ \"1\" ],\r\n \"columns[2].queryType\" : [ \"EQ\" ],\r\n \"columns[2].htmlType\" : [ \"input\" ],\r\n \"columns[2].dictType\" : [ \"\" ],\r\n \"columns[3].columnId\" : [ \"205\" ],\r\n \"columns[3].sort\" : [ \"4\" ],\r\n \"columns[3].columnComment\" : [ \"会员手机号\" ],\r\n \"columns[3].javaType\" : [ \"String\" ],\r\n \"columns[3].javaField\" : [ \"phone\" ],\r\n \"columns[3].isInsert\" : [ \"1\" ],\r\n \"columns[3].isEdit\" : [ \"1\" ],\r\n \"columns[3].isList\" : [ \"1\" ],\r\n \"columns[3].isQuery\" : [ \"1\" ],\r\n \"columns[3].queryType\" : [ \"EQ\" ],\r\n \"columns[3].htmlType\" : [ \"input\" ],\r\n \"columns[3].dictType\" : [ \"\" ],\r\n \"columns[4].columnId\" : [ \"206\" ],\r\n \"columns[4].sort\" : [ \"5\" ],\r\n \"columns[4].columnComment\" : [ \"登录密码\" ],\r\n \"columns[4].javaType\" : [ \"String\" ],\r\n \"columns[4].javaField\" : [ \"password\" ],\r\n \"columns[4].queryType\" : [ \"EQ\" ],\r\n \"columns[4].htmlType\" : [ \"input\" ],\r\n \"columns[4].dictType\" : [ \"\" ],\r\n \"columns[5].columnId\" : [ \"207\" ],\r\n \"colu', 0, NULL, '2019-08-30 13:44:56');
|
||||
INSERT INTO `sys_oper_log` VALUES (52, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.genCode()', '', 1, 'admin', '研发部门', '/tool/gen/genCode/store_member', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-08-30 13:45:19');
|
||||
INSERT INTO `sys_oper_log` VALUES (53, '订单主', 3, 'com.ruoyi.web.controller.shop.StoreOrderController.remove()', '', 1, 'admin', '研发部门', '/shop/order/remove', '127.0.0.1', '内网IP', '{\r\n \"ids\" : [ \"1639\" ]\r\n}', 0, NULL, '2019-08-30 14:54:48');
|
||||
INSERT INTO `sys_oper_log` VALUES (54, '订单主', 2, 'com.ruoyi.web.controller.shop.StoreOrderController.editSave()', '', 1, 'admin', '研发部门', '/shop/order/edit', '127.0.0.1', '内网IP', '{\r\n \"orderId\" : [ \"1639\" ],\r\n \"shippingCode\" : [ \"778845475\" ],\r\n \"shippingName\" : [ \"顺丰1\" ]\r\n}', 0, NULL, '2019-08-30 15:47:51');
|
||||
INSERT INTO `sys_oper_log` VALUES (55, '商城商品分类', 3, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.remove()', '', 1, 'admin', '研发部门', '/shop/cate/remove/1', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-09-23 15:45:39');
|
||||
INSERT INTO `sys_oper_log` VALUES (56, '商城商品分类', 3, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.remove()', '', 1, 'admin', '研发部门', '/shop/cate/remove/2', '127.0.0.1', '内网IP', '{ }', 0, NULL, '2019-09-23 15:46:09');
|
||||
INSERT INTO `sys_oper_log` VALUES (57, '商城商品分类', 3, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.remove()', '', 1, 'admin', '研发部门', '/shop/cate/remove/3', '127.0.0.1', '内网IP', '{ }', 1, '请先删除子分类', '2019-09-23 15:56:43');
|
||||
INSERT INTO `sys_oper_log` VALUES (58, '商城商品分类', 3, 'com.ruoyi.web.controller.shop.StoreGoodsCateController.remove()', '', 1, 'admin', '研发部门', '/shop/cate/remove/3', '127.0.0.1', '内网IP', '{ }', 1, '请先删除子分类', '2019-09-23 15:56:49');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_post
|
||||
@@ -3184,6 +3144,7 @@ CREATE TABLE `sys_user` (
|
||||
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
|
||||
`login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '最后登陆IP',
|
||||
`login_date` datetime(0) NULL DEFAULT NULL COMMENT '最后登陆时间',
|
||||
`pwd_update_date` datetime(0) NULL DEFAULT NULL,
|
||||
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
||||
@@ -3195,8 +3156,8 @@ CREATE TABLE `sys_user` (
|
||||
-- ----------------------------
|
||||
-- Records of sys_user
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '供货商城', '00', 'ry@163.com', '15888888888', '1', '', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2019-09-23 16:47:43', 'admin', '2018-03-16 11:33:00', 'ry', '2019-09-23 16:47:42', '管理员');
|
||||
INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '0', '0', '127.0.0.1', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '测试员');
|
||||
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '供货商城', '00', 'ry@163.com', '15888888888', '1', '', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2021-06-18 17:06:16', NULL, 'admin', '2018-03-16 11:33:00', 'ry', '2021-06-18 17:06:15', '管理员');
|
||||
INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '0', '0', '127.0.0.1', '2018-03-16 11:33:00', NULL, 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '测试员');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_user_online
|
||||
@@ -3220,7 +3181,7 @@ CREATE TABLE `sys_user_online` (
|
||||
-- ----------------------------
|
||||
-- Records of sys_user_online
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_user_online` VALUES ('f28148a5-4c82-4548-9c96-3fcf772c92d5', 'admin', '研发部门', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', 'on_line', '2019-09-23 16:47:40', '2019-09-23 16:47:43', 1800000);
|
||||
INSERT INTO `sys_user_online` VALUES ('037e7ccd-2bba-4490-9059-f81c5f13bc1c', 'admin', '研发部门', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', 'on_line', '2021-06-18 16:51:43', '2021-06-18 17:06:16', 1800000);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_user_post
|
||||
@@ -0,0 +1,146 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>supplier</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.0.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>jar</packaging>
|
||||
<artifactId>supplier-admin</artifactId>
|
||||
|
||||
<description>
|
||||
web服务入口
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- SpringBoot集成thymeleaf模板 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- spring-boot-devtools -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<optional>true</optional> <!-- 表示依赖不会传递 -->
|
||||
</dependency>
|
||||
|
||||
<!-- swagger2-->
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger2</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--防止进入swagger页面报类型转换错误,排除2.9.2中的引用,手动增加1.5.21版本-->
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
<version>1.5.21</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
<version>1.5.21</version>
|
||||
</dependency>
|
||||
|
||||
<!-- swagger2-UI-->
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger-ui</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Mysql驱动包 -->
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 核心模块-->
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier-framework</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 定时任务-->
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier-quartz</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 代码生成-->
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>supplier-generator</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>2.1.1.RELEASE</version>
|
||||
<configuration>
|
||||
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>3.0.0</version>
|
||||
<configuration>
|
||||
<failOnMissingWebXml>false</failOnMissingWebXml>
|
||||
<warName>${project.artifactId}</warName>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- YUI Compressor (CSS/JS压缩)
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>yuicompressor-maven-plugin</artifactId>
|
||||
<version>1.5.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>prepare-package</phase>
|
||||
<goals>
|
||||
<goal>compress</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<encoding>UTF-8</encoding>
|
||||
<jswarn>false</jswarn>
|
||||
<nosuffix>true</nosuffix>
|
||||
<linebreakpos>50000</linebreakpos>
|
||||
<sourceDirectory>src/main/resources/static</sourceDirectory>
|
||||
<force>true</force>
|
||||
<includes>
|
||||
<include>**/*.js</include>
|
||||
<include>**/*.css</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/*.min.js</exclude>
|
||||
<exclude>**/*.min.css</exclude>
|
||||
<exclude>**/fileinput.js</exclude>
|
||||
<exclude>**/bootstrap-table/**</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin> -->
|
||||
</plugins>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,22 @@
|
||||
package co.yixiang;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
|
||||
/**
|
||||
* 启动程序
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
|
||||
public class AdminApplication
|
||||
{
|
||||
public static void main(String[] args)
|
||||
{
|
||||
// System.setProperty("spring.devtools.restart.enabled", "false");
|
||||
SpringApplication.run(AdminApplication.class, args);
|
||||
System.out.println("(♥◠‿◠)ノ゙ ========== ლ(´ڡ`ლ)゙ \n" +
|
||||
"\n管理端启动成功 \n官网:https://www.yixiang.co 提供技术支持゙ \n");
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi;
|
||||
package co.yixiang;
|
||||
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
@@ -8,11 +8,11 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public class RuoYiServletInitializer extends SpringBootServletInitializer
|
||||
public class AdminServletInitializer extends SpringBootServletInitializer
|
||||
{
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
|
||||
{
|
||||
return application.sources(RuoYiApplication.class);
|
||||
return application.sources(AdminApplication.class);
|
||||
}
|
||||
}
|
||||
+28
-20
@@ -1,22 +1,23 @@
|
||||
package com.ruoyi.web.controller.common;
|
||||
package co.yixiang.web.controller.common;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import com.ruoyi.common.config.Global;
|
||||
import com.ruoyi.common.config.ServerConfig;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||
import com.ruoyi.common.utils.file.FileUtils;
|
||||
import co.yixiang.common.config.RuoYiConfig;
|
||||
import co.yixiang.common.config.ServerConfig;
|
||||
import co.yixiang.common.constant.Constants;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
import co.yixiang.common.utils.file.FileUploadUtils;
|
||||
import co.yixiang.common.utils.file.FileUtils;
|
||||
|
||||
/**
|
||||
* 通用请求处理
|
||||
@@ -42,17 +43,15 @@ public class CommonController
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!FileUtils.isValidFilename(fileName))
|
||||
if (!FileUtils.checkAllowDownload(fileName))
|
||||
{
|
||||
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
|
||||
}
|
||||
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
|
||||
String filePath = Global.getDownloadPath() + fileName;
|
||||
String filePath = RuoYiConfig.getDownloadPath() + fileName;
|
||||
|
||||
response.setCharacterEncoding("utf-8");
|
||||
response.setContentType("multipart/form-data");
|
||||
response.setHeader("Content-Disposition",
|
||||
"attachment;fileName=" + FileUtils.setFileDownloadHeader(request, realFileName));
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
FileUtils.setAttachmentResponseHeader(response, realFileName);
|
||||
FileUtils.writeBytes(filePath, response.getOutputStream());
|
||||
if (delete)
|
||||
{
|
||||
@@ -75,7 +74,7 @@ public class CommonController
|
||||
try
|
||||
{
|
||||
// 上传文件路径
|
||||
String filePath = Global.getUploadPath();
|
||||
String filePath = RuoYiConfig.getUploadPath();
|
||||
// 上传并返回新文件名称
|
||||
String fileName = FileUploadUtils.upload(filePath, file);
|
||||
String url = serverConfig.getUrl() + fileName;
|
||||
@@ -97,16 +96,25 @@ public class CommonController
|
||||
public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
|
||||
throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!FileUtils.checkAllowDownload(resource))
|
||||
{
|
||||
throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
|
||||
}
|
||||
// 本地资源路径
|
||||
String localPath = Global.getProfile();
|
||||
String localPath = RuoYiConfig.getProfile();
|
||||
// 数据库资源地址
|
||||
String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
|
||||
// 下载名称
|
||||
String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
response.setContentType("multipart/form-data");
|
||||
response.setHeader("Content-Disposition",
|
||||
"attachment;fileName=" + FileUtils.setFileDownloadHeader(request, downloadName));
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
FileUtils.setAttachmentResponseHeader(response, downloadName);
|
||||
FileUtils.writeBytes(downloadPath, response.getOutputStream());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.error("下载文件失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.demo.controller;
|
||||
package co.yixiang.web.controller.demo.controller;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
+390
@@ -0,0 +1,390 @@
|
||||
package co.yixiang.web.controller.demo.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.domain.CxSelect;
|
||||
import co.yixiang.common.json.JSONObject;
|
||||
import co.yixiang.common.json.JSONObject.JSONArray;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
|
||||
/**
|
||||
* 表单相关
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/demo/form")
|
||||
public class DemoFormController
|
||||
{
|
||||
private String prefix = "demo/form";
|
||||
|
||||
private final static List<UserFormModel> users = new ArrayList<UserFormModel>();
|
||||
{
|
||||
users.add(new UserFormModel(1, "1000001", "测试1", "15888888888"));
|
||||
users.add(new UserFormModel(2, "1000002", "测试2", "15666666666"));
|
||||
users.add(new UserFormModel(3, "1000003", "测试3", "15666666666"));
|
||||
users.add(new UserFormModel(4, "1000004", "测试4", "15666666666"));
|
||||
users.add(new UserFormModel(5, "1000005", "测试5", "15666666666"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 按钮页
|
||||
*/
|
||||
@GetMapping("/button")
|
||||
public String button()
|
||||
{
|
||||
return prefix + "/button";
|
||||
}
|
||||
|
||||
/**
|
||||
* 下拉框
|
||||
*/
|
||||
@GetMapping("/select")
|
||||
public String select()
|
||||
{
|
||||
return prefix + "/select";
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间轴
|
||||
*/
|
||||
@GetMapping("/timeline")
|
||||
public String timeline()
|
||||
{
|
||||
return prefix + "/timeline";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表单校验
|
||||
*/
|
||||
@GetMapping("/validate")
|
||||
public String validate()
|
||||
{
|
||||
return prefix + "/validate";
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能扩展(包含文件上传)
|
||||
*/
|
||||
@GetMapping("/jasny")
|
||||
public String jasny()
|
||||
{
|
||||
return prefix + "/jasny";
|
||||
}
|
||||
|
||||
/**
|
||||
* 拖动排序
|
||||
*/
|
||||
@GetMapping("/sortable")
|
||||
public String sortable()
|
||||
{
|
||||
return prefix + "/sortable";
|
||||
}
|
||||
|
||||
/**
|
||||
* 单据打印
|
||||
*/
|
||||
@GetMapping("/invoice")
|
||||
public String invoice()
|
||||
{
|
||||
return prefix + "/invoice";
|
||||
}
|
||||
|
||||
/**
|
||||
* 标签 & 提示
|
||||
*/
|
||||
@GetMapping("/labels_tips")
|
||||
public String labels_tips()
|
||||
{
|
||||
return prefix + "/labels_tips";
|
||||
}
|
||||
|
||||
/**
|
||||
* 选项卡 & 面板
|
||||
*/
|
||||
@GetMapping("/tabs_panels")
|
||||
public String tabs_panels()
|
||||
{
|
||||
return prefix + "/tabs_panels";
|
||||
}
|
||||
|
||||
/**
|
||||
* 栅格
|
||||
*/
|
||||
@GetMapping("/grid")
|
||||
public String grid()
|
||||
{
|
||||
return prefix + "/grid";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表单向导
|
||||
*/
|
||||
@GetMapping("/wizard")
|
||||
public String wizard()
|
||||
{
|
||||
return prefix + "/wizard";
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件上传
|
||||
*/
|
||||
@GetMapping("/upload")
|
||||
public String upload()
|
||||
{
|
||||
return prefix + "/upload";
|
||||
}
|
||||
|
||||
/**
|
||||
* 日期和时间页
|
||||
*/
|
||||
@GetMapping("/datetime")
|
||||
public String datetime()
|
||||
{
|
||||
return prefix + "/datetime";
|
||||
}
|
||||
|
||||
/**
|
||||
* 左右互选组件
|
||||
*/
|
||||
@GetMapping("/duallistbox")
|
||||
public String duallistbox()
|
||||
{
|
||||
return prefix + "/duallistbox";
|
||||
}
|
||||
|
||||
/**
|
||||
* 基本表单
|
||||
*/
|
||||
@GetMapping("/basic")
|
||||
public String basic()
|
||||
{
|
||||
return prefix + "/basic";
|
||||
}
|
||||
|
||||
/**
|
||||
* 卡片列表
|
||||
*/
|
||||
@GetMapping("/cards")
|
||||
public String cards()
|
||||
{
|
||||
return prefix + "/cards";
|
||||
}
|
||||
|
||||
/**
|
||||
* summernote 富文本编辑器
|
||||
*/
|
||||
@GetMapping("/summernote")
|
||||
public String summernote()
|
||||
{
|
||||
return prefix + "/summernote";
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索自动补全
|
||||
*/
|
||||
@GetMapping("/autocomplete")
|
||||
public String autocomplete()
|
||||
{
|
||||
return prefix + "/autocomplete";
|
||||
}
|
||||
|
||||
/**
|
||||
* 多级联动下拉
|
||||
*/
|
||||
@GetMapping("/cxselect")
|
||||
public String cxselect(ModelMap mmap)
|
||||
{
|
||||
CxSelect cxSelectTB = new CxSelect();
|
||||
cxSelectTB.setN("淘宝");
|
||||
cxSelectTB.setV("taobao");
|
||||
CxSelect cxSelectTm = new CxSelect();
|
||||
cxSelectTm.setN("天猫");
|
||||
cxSelectTm.setV("tm");
|
||||
CxSelect cxSelectJhs = new CxSelect();
|
||||
cxSelectJhs.setN("聚划算");
|
||||
cxSelectJhs.setV("jhs");
|
||||
List<CxSelect> tmList = new ArrayList<CxSelect>();
|
||||
tmList.add(cxSelectTm);
|
||||
tmList.add(cxSelectJhs);
|
||||
cxSelectTB.setS(tmList);
|
||||
|
||||
CxSelect cxSelectJD = new CxSelect();
|
||||
cxSelectJD.setN("京东");
|
||||
cxSelectJD.setV("jd");
|
||||
CxSelect cxSelectCs = new CxSelect();
|
||||
cxSelectCs.setN("京东超市");
|
||||
cxSelectCs.setV("jdcs");
|
||||
CxSelect cxSelectSx = new CxSelect();
|
||||
cxSelectSx.setN("京东生鲜");
|
||||
cxSelectSx.setV("jdsx");
|
||||
List<CxSelect> jdList = new ArrayList<CxSelect>();
|
||||
jdList.add(cxSelectCs);
|
||||
jdList.add(cxSelectSx);
|
||||
cxSelectJD.setS(jdList);
|
||||
|
||||
List<CxSelect> cxList = new ArrayList<CxSelect>();
|
||||
cxList.add(cxSelectTB);
|
||||
cxList.add(cxSelectJD);
|
||||
|
||||
mmap.put("data", JSON.toJSON(cxList));
|
||||
return prefix + "/cxselect";
|
||||
}
|
||||
|
||||
/**
|
||||
* 局部刷新
|
||||
*/
|
||||
@GetMapping("/localrefresh")
|
||||
public String localRefresh(ModelMap mmap)
|
||||
{
|
||||
JSONArray list = new JSONArray();
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("name", "这条任务数据是由ModelMap传递到页面的,点击添加按钮后会将这条数据替换为新数据");
|
||||
item.put("type", "默认");
|
||||
item.put("date", "2020.06.10");
|
||||
list.add(item);
|
||||
mmap.put("tasks", list);
|
||||
mmap.put("min", 2);
|
||||
mmap.put("max", 10);
|
||||
return prefix + "/localrefresh";
|
||||
}
|
||||
|
||||
/**
|
||||
* 局部刷新-添加任务
|
||||
*
|
||||
* @param fragment 页面中的模板名称
|
||||
* @param taskName 任务名称
|
||||
*/
|
||||
@PostMapping("/localrefresh/task")
|
||||
public String localRefreshTask(String fragment, String taskName, ModelMap mmap)
|
||||
{
|
||||
JSONArray list = new JSONArray();
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("name", StringUtils.defaultIfBlank(taskName, "通过电话销售过程中了解各盛市的设备仪器使用、采购情况及相关重要追踪人"));
|
||||
item.put("type", "新增");
|
||||
item.put("date", "2018.06.10");
|
||||
list.add(item);
|
||||
item = new JSONObject();
|
||||
item.put("name", "提高自己电话营销技巧,灵活专业地与客户进行电话交流");
|
||||
item.put("type", "新增");
|
||||
item.put("date", "2018.06.12");
|
||||
list.add(item);
|
||||
mmap.put("tasks", list);
|
||||
return prefix + "/localrefresh::" + fragment;
|
||||
}
|
||||
|
||||
/**
|
||||
* 模拟数据
|
||||
*/
|
||||
@GetMapping("/cityData")
|
||||
@ResponseBody
|
||||
public String cityData()
|
||||
{
|
||||
String data = "[{\"n\":\"湖南省\",\"s\":[{\"n\":\"长沙市\",\"s\":[{\"n\":\"芙蓉区\"},{\"n\":\"天心区\"},{\"n\":\"岳麓区\"},{\"n\":\"开福区\"},{\"n\":\"雨花区\"},{\"n\":\"望城区\"},{\"n\":\"长沙县\"},{\"n\":\"宁乡县\"},{\"n\":\"浏阳市\"}]},{\"n\":\"株洲市\",\"s\":[{\"n\":\"荷塘区\"},{\"n\":\"芦淞区\"},{\"n\":\"石峰区\"},{\"n\":\"天元区\"},{\"n\":\"株洲县\"},{\"n\":\"攸县\"},{\"n\":\"茶陵县\"},{\"n\":\"炎陵县\"},{\"n\":\"醴陵市\"}]},{\"n\":\"湘潭市\",\"s\":[{\"n\":\"雨湖区\"},{\"n\":\"岳塘区\"},{\"n\":\"湘潭县\"},{\"n\":\"湘乡市\"},{\"n\":\"韶山市\"}]},{\"n\":\"衡阳市\",\"s\":[{\"n\":\"珠晖区\"},{\"n\":\"雁峰区\"},{\"n\":\"石鼓区\"},{\"n\":\"蒸湘区\"},{\"n\":\"南岳区\"},{\"n\":\"衡阳县\"},{\"n\":\"衡南县\"},{\"n\":\"衡山县\"},{\"n\":\"衡东县\"},{\"n\":\"祁东县\"},{\"n\":\"耒阳市\"},{\"n\":\"常宁市\"}]},{\"n\":\"邵阳市\",\"s\":[{\"n\":\"双清区\"},{\"n\":\"大祥区\"},{\"n\":\"北塔区\"},{\"n\":\"邵东县\"},{\"n\":\"新邵县\"},{\"n\":\"邵阳县\"},{\"n\":\"隆回县\"},{\"n\":\"洞口县\"},{\"n\":\"绥宁县\"},{\"n\":\"新宁县\"},{\"n\":\"城步苗族自治县\"},{\"n\":\"武冈市\"}]},{\"n\":\"岳阳市\",\"s\":[{\"n\":\"岳阳楼区\"},{\"n\":\"云溪区\"},{\"n\":\"君山区\"},{\"n\":\"岳阳县\"},{\"n\":\"华容县\"},{\"n\":\"湘阴县\"},{\"n\":\"平江县\"},{\"n\":\"汨罗市\"},{\"n\":\"临湘市\"}]},{\"n\":\"常德市\",\"s\":[{\"n\":\"武陵区\"},{\"n\":\"鼎城区\"},{\"n\":\"安乡县\"},{\"n\":\"汉寿县\"},{\"n\":\"澧县\"},{\"n\":\"临澧县\"},{\"n\":\"桃源县\"},{\"n\":\"石门县\"},{\"n\":\"津市市\"}]},{\"n\":\"张家界市\",\"s\":[{\"n\":\"永定区\"},{\"n\":\"武陵源区\"},{\"n\":\"慈利县\"},{\"n\":\"桑植县\"}]},{\"n\":\"益阳市\",\"s\":[{\"n\":\"资阳区\"},{\"n\":\"赫山区\"},{\"n\":\"南县\"},{\"n\":\"桃江县\"},{\"n\":\"安化县\"},{\"n\":\"沅江市\"}]},{\"n\":\"郴州市\",\"s\":[{\"n\":\"北湖区\"},{\"n\":\"苏仙区\"},{\"n\":\"桂阳县\"},{\"n\":\"宜章县\"},{\"n\":\"永兴县\"},{\"n\":\"嘉禾县\"},{\"n\":\"临武县\"},{\"n\":\"汝城县\"},{\"n\":\"桂东县\"},{\"n\":\"安仁县\"},{\"n\":\"资兴市\"}]},{\"n\":\"永州市\",\"s\":[{\"n\":\"零陵区\"},{\"n\":\"冷水滩区\"},{\"n\":\"祁阳县\"},{\"n\":\"东安县\"},{\"n\":\"双牌县\"},{\"n\":\"道县\"},{\"n\":\"江永县\"},{\"n\":\"宁远县\"},{\"n\":\"蓝山县\"},{\"n\":\"新田县\"},{\"n\":\"江华瑶族自治县\"}]},{\"n\":\"怀化市\",\"s\":[{\"n\":\"鹤城区\"},{\"n\":\"中方县\"},{\"n\":\"沅陵县\"},{\"n\":\"辰溪县\"},{\"n\":\"溆浦县\"},{\"n\":\"会同县\"},{\"n\":\"麻阳苗族自治县\"},{\"n\":\"新晃侗族自治县\"},{\"n\":\"芷江侗族自治县\"},{\"n\":\"靖州苗族侗族自治县\"},{\"n\":\"通道侗族自治县\"},{\"n\":\"洪江市\"}]},{\"n\":\"娄底市\",\"s\":[{\"n\":\"娄星区\"},{\"n\":\"双峰县\"},{\"n\":\"新化县\"},{\"n\":\"冷水江市\"},{\"n\":\"涟源市\"}]},{\"n\":\"湘西土家族苗族自治州\",\"s\":[{\"n\":\"吉首市\"},{\"n\":\"泸溪县\"},{\"n\":\"凤凰县\"},{\"n\":\"花垣县\"},{\"n\":\"保靖县\"},{\"n\":\"古丈县\"},{\"n\":\"永顺县\"},{\"n\":\"龙山县\"}]}]},{\"n\":\"广东省\",\"s\":[{\"n\":\"广州市\",\"s\":[{\"n\":\"荔湾区\"},{\"n\":\"越秀区\"},{\"n\":\"海珠区\"},{\"n\":\"天河区\"},{\"n\":\"白云区\"},{\"n\":\"黄埔区\"},{\"n\":\"番禺区\"},{\"n\":\"花都区\"},{\"n\":\"南沙区\"},{\"n\":\"萝岗区\"},{\"n\":\"增城市\"},{\"n\":\"从化市\"}]},{\"n\":\"韶关市\",\"s\":[{\"n\":\"武江区\"},{\"n\":\"浈江区\"},{\"n\":\"曲江区\"},{\"n\":\"始兴县\"},{\"n\":\"仁化县\"},{\"n\":\"翁源县\"},{\"n\":\"乳源瑶族自治县\"},{\"n\":\"新丰县\"},{\"n\":\"乐昌市\"},{\"n\":\"南雄市\"}]},{\"n\":\"深圳市\",\"s\":[{\"n\":\"罗湖区\"},{\"n\":\"福田区\"},{\"n\":\"南山区\"},{\"n\":\"宝安区\"},{\"n\":\"龙岗区\"},{\"n\":\"盐田区\"}]},{\"n\":\"珠海市\",\"s\":[{\"n\":\"香洲区\"},{\"n\":\"斗门区\"},{\"n\":\"金湾区\"}]},{\"n\":\"汕头市\",\"s\":[{\"n\":\"龙湖区\"},{\"n\":\"金平区\"},{\"n\":\"濠江区\"},{\"n\":\"潮阳区\"},{\"n\":\"潮南区\"},{\"n\":\"澄海区\"},{\"n\":\"南澳县\"}]},{\"n\":\"佛山市\",\"s\":[{\"n\":\"禅城区\"},{\"n\":\"南海区\"},{\"n\":\"顺德区\"},{\"n\":\"三水区\"},{\"n\":\"高明区\"}]},{\"n\":\"江门市\",\"s\":[{\"n\":\"蓬江区\"},{\"n\":\"江海区\"},{\"n\":\"新会区\"},{\"n\":\"台山市\"},{\"n\":\"开平市\"},{\"n\":\"鹤山市\"},{\"n\":\"恩平市\"}]},{\"n\":\"湛江市\",\"s\":[{\"n\":\"赤坎区\"},{\"n\":\"霞山区\"},{\"n\":\"坡头区\"},{\"n\":\"麻章区\"},{\"n\":\"遂溪县\"},{\"n\":\"徐闻县\"},{\"n\":\"廉江市\"},{\"n\":\"雷州市\"},{\"n\":\"吴川市\"}]},{\"n\":\"茂名市\",\"s\":[{\"n\":\"茂南区\"},{\"n\":\"茂港区\"},{\"n\":\"电白县\"},{\"n\":\"高州市\"},{\"n\":\"化州市\"},{\"n\":\"Line truncated
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户数据
|
||||
*/
|
||||
@GetMapping("/userModel")
|
||||
@ResponseBody
|
||||
public AjaxResult userModel()
|
||||
{
|
||||
AjaxResult ajax = new AjaxResult();
|
||||
|
||||
ajax.put("code", 200);
|
||||
ajax.put("value", users);
|
||||
return ajax;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据集合
|
||||
*/
|
||||
@GetMapping("/collection")
|
||||
@ResponseBody
|
||||
public AjaxResult collection()
|
||||
{
|
||||
String[] array = { "ruoyi 1", "ruoyi 2", "ruoyi 3", "ruoyi 4", "ruoyi 5" };
|
||||
AjaxResult ajax = new AjaxResult();
|
||||
ajax.put("value", array);
|
||||
return ajax;
|
||||
}
|
||||
}
|
||||
|
||||
class UserFormModel
|
||||
{
|
||||
/** 用户ID */
|
||||
private int userId;
|
||||
|
||||
/** 用户编号 */
|
||||
private String userCode;
|
||||
|
||||
/** 用户姓名 */
|
||||
private String userName;
|
||||
|
||||
/** 用户手机 */
|
||||
private String userPhone;
|
||||
|
||||
public UserFormModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public UserFormModel(int userId, String userCode, String userName, String userPhone)
|
||||
{
|
||||
this.userId = userId;
|
||||
this.userCode = userCode;
|
||||
this.userName = userName;
|
||||
this.userPhone = userPhone;
|
||||
}
|
||||
|
||||
public int getUserId()
|
||||
{
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(int userId)
|
||||
{
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getUserCode()
|
||||
{
|
||||
return userCode;
|
||||
}
|
||||
|
||||
public void setUserCode(String userCode)
|
||||
{
|
||||
this.userCode = userCode;
|
||||
}
|
||||
|
||||
public String getUserName()
|
||||
{
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(String userName)
|
||||
{
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getUserPhone()
|
||||
{
|
||||
return userPhone;
|
||||
}
|
||||
|
||||
public void setUserPhone(String userPhone)
|
||||
{
|
||||
this.userPhone = userPhone;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.demo.controller;
|
||||
package co.yixiang.web.controller.demo.controller;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
+26
-11
@@ -1,9 +1,12 @@
|
||||
package com.ruoyi.web.controller.demo.controller;
|
||||
package co.yixiang.web.controller.demo.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import co.yixiang.web.controller.demo.domain.CustomerModel;
|
||||
import co.yixiang.web.controller.demo.domain.UserOperateModel;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@@ -12,16 +15,17 @@ import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.PageDomain;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.page.TableSupport;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
import com.ruoyi.common.exception.BusinessException;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.web.controller.demo.domain.UserOperateModel;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.page.PageDomain;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.core.page.TableSupport;
|
||||
import co.yixiang.common.core.text.Convert;
|
||||
import co.yixiang.common.exception.BusinessException;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.web.controller.demo.domain.CustomerModel;
|
||||
import co.yixiang.web.controller.demo.domain.UserOperateModel;
|
||||
|
||||
/**
|
||||
* 操作控制
|
||||
@@ -153,6 +157,17 @@ public class DemoOperateController extends BaseController
|
||||
return AjaxResult.success(users.put(userId, user));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保存主子表信息
|
||||
*/
|
||||
@PostMapping("/customer/add")
|
||||
@ResponseBody
|
||||
public AjaxResult addSave(CustomerModel customerModel)
|
||||
{
|
||||
System.out.println(customerModel.toString());
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户
|
||||
*/
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.demo.controller;
|
||||
package co.yixiang.web.controller.demo.controller;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
+198
-11
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.demo.controller;
|
||||
package co.yixiang.web.controller.demo.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -6,17 +6,23 @@ import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.page.PageDomain;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.page.TableSupport;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import co.yixiang.common.annotation.Excel;
|
||||
import co.yixiang.common.annotation.Excel.ColumnType;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.page.PageDomain;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.core.page.TableSupport;
|
||||
import co.yixiang.common.core.text.Convert;
|
||||
import co.yixiang.common.utils.DateUtils;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
|
||||
/**
|
||||
* 表格相关
|
||||
@@ -59,6 +65,16 @@ public class DemoTableController extends BaseController
|
||||
users.add(new UserTableModel(26, "1000026", "测试26", "1", "15666666666", "ry@qq.com", 250.0, "1"));
|
||||
}
|
||||
|
||||
private final static List<UserTableColumn> columns = new ArrayList<UserTableColumn>();
|
||||
{
|
||||
columns.add(new UserTableColumn("用户ID", "userId"));
|
||||
columns.add(new UserTableColumn("用户编号", "userCode"));
|
||||
columns.add(new UserTableColumn("用户姓名", "userName"));
|
||||
columns.add(new UserTableColumn("用户手机", "userPhone"));
|
||||
columns.add(new UserTableColumn("用户邮箱", "userEmail"));
|
||||
columns.add(new UserTableColumn("用户状态", "status"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索相关
|
||||
*/
|
||||
@@ -95,6 +111,44 @@ public class DemoTableController extends BaseController
|
||||
return prefix + "/export";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格导出选择列
|
||||
*/
|
||||
@GetMapping("/exportSelected")
|
||||
public String exportSelected()
|
||||
{
|
||||
return prefix + "/exportSelected";
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出数据
|
||||
*/
|
||||
@PostMapping("/exportData")
|
||||
@ResponseBody
|
||||
public AjaxResult exportSelected(UserTableModel userModel, String userIds)
|
||||
{
|
||||
List<UserTableModel> userList = new ArrayList<UserTableModel>(Arrays.asList(new UserTableModel[users.size()]));
|
||||
Collections.copy(userList, users);
|
||||
|
||||
// 条件过滤
|
||||
if (StringUtils.isNotEmpty(userIds))
|
||||
{
|
||||
userList.clear();
|
||||
for (Long userId : Convert.toLongArray(userIds))
|
||||
{
|
||||
for (UserTableModel user : users)
|
||||
{
|
||||
if (user.getUserId() == userId)
|
||||
{
|
||||
userList.add(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ExcelUtil<UserTableModel> util = new ExcelUtil<UserTableModel>(UserTableModel.class);
|
||||
return util.exportExcel(userList, "用户数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 翻页记住选择
|
||||
*/
|
||||
@@ -140,6 +194,16 @@ public class DemoTableController extends BaseController
|
||||
return prefix + "/button";
|
||||
}
|
||||
|
||||
/**
|
||||
* 直接加载表格数据
|
||||
*/
|
||||
@GetMapping("/data")
|
||||
public String data(ModelMap mmap)
|
||||
{
|
||||
mmap.put("users", users);
|
||||
return prefix + "/data";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格冻结列
|
||||
*/
|
||||
@@ -195,12 +259,30 @@ public class DemoTableController extends BaseController
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格拖拽操作
|
||||
* 表格行拖拽操作
|
||||
*/
|
||||
@GetMapping("/reorder")
|
||||
public String reorder()
|
||||
@GetMapping("/reorderRows")
|
||||
public String reorderRows()
|
||||
{
|
||||
return prefix + "/reorder";
|
||||
return prefix + "/reorderRows";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格列拖拽操作
|
||||
*/
|
||||
@GetMapping("/reorderColumns")
|
||||
public String reorderColumns()
|
||||
{
|
||||
return prefix + "/reorderColumns";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格列宽拖动
|
||||
*/
|
||||
@GetMapping("/resizable")
|
||||
public String resizable()
|
||||
{
|
||||
return prefix + "/resizable";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -212,6 +294,51 @@ public class DemoTableController extends BaseController
|
||||
return prefix + "/editable";
|
||||
}
|
||||
|
||||
/**
|
||||
* 主子表提交
|
||||
*/
|
||||
@GetMapping("/subdata")
|
||||
public String subdata()
|
||||
{
|
||||
return prefix + "/subdata";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格自动刷新
|
||||
*/
|
||||
@GetMapping("/refresh")
|
||||
public String refresh()
|
||||
{
|
||||
return prefix + "/refresh";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格打印配置
|
||||
*/
|
||||
@GetMapping("/print")
|
||||
public String print()
|
||||
{
|
||||
return prefix + "/print";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格标题格式化
|
||||
*/
|
||||
@GetMapping("/headerStyle")
|
||||
public String headerStyle()
|
||||
{
|
||||
return prefix + "/headerStyle";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格动态列
|
||||
*/
|
||||
@GetMapping("/dynamicColumns")
|
||||
public String dynamicColumns()
|
||||
{
|
||||
return prefix + "/dynamicColumns";
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格其他操作
|
||||
*/
|
||||
@@ -221,6 +348,22 @@ public class DemoTableController extends BaseController
|
||||
return prefix + "/other";
|
||||
}
|
||||
|
||||
/**
|
||||
* 动态获取列
|
||||
*/
|
||||
@PostMapping("/ajaxColumns")
|
||||
@ResponseBody
|
||||
public AjaxResult ajaxColumns(UserTableColumn userColumn)
|
||||
{
|
||||
List<UserTableColumn> columnList = new ArrayList<UserTableColumn>(Arrays.asList(new UserTableColumn[columns.size()]));
|
||||
Collections.copy(columnList, columns);
|
||||
if (userColumn != null && "userBalance".equals(userColumn.getField()))
|
||||
{
|
||||
columnList.add(new UserTableColumn("用户余额", "userBalance"));
|
||||
}
|
||||
return AjaxResult.success(columnList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询数据
|
||||
*/
|
||||
@@ -262,27 +405,71 @@ public class DemoTableController extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
class UserTableColumn
|
||||
{
|
||||
/** 表头 */
|
||||
private String title;
|
||||
/** 字段 */
|
||||
private String field;
|
||||
|
||||
public UserTableColumn()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public UserTableColumn(String title, String field)
|
||||
{
|
||||
this.title = title;
|
||||
this.field = field;
|
||||
}
|
||||
|
||||
public String getTitle()
|
||||
{
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title)
|
||||
{
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getField()
|
||||
{
|
||||
return field;
|
||||
}
|
||||
|
||||
public void setField(String field)
|
||||
{
|
||||
this.field = field;
|
||||
}
|
||||
}
|
||||
|
||||
class UserTableModel
|
||||
{
|
||||
/** 用户ID */
|
||||
private int userId;
|
||||
|
||||
/** 用户编号 */
|
||||
@Excel(name = "用户编号", cellType = ColumnType.NUMERIC)
|
||||
private String userCode;
|
||||
|
||||
/** 用户姓名 */
|
||||
@Excel(name = "用户姓名")
|
||||
private String userName;
|
||||
|
||||
/** 用户性别 */
|
||||
private String userSex;
|
||||
|
||||
/** 用户手机 */
|
||||
@Excel(name = "用户手机")
|
||||
private String userPhone;
|
||||
|
||||
/** 用户邮箱 */
|
||||
@Excel(name = "用户邮箱")
|
||||
private String userEmail;
|
||||
|
||||
/** 用户余额 */
|
||||
@Excel(name = "用户余额", cellType = ColumnType.NUMERIC)
|
||||
private double userBalance;
|
||||
|
||||
/** 用户状态(0正常 1停用) */
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
package co.yixiang.web.controller.demo.domain;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 客户测试信息
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public class CustomerModel
|
||||
{
|
||||
/**
|
||||
* 客户姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 客户手机
|
||||
*/
|
||||
private String phonenumber;
|
||||
|
||||
/**
|
||||
* 客户性别
|
||||
*/
|
||||
private String sex;
|
||||
|
||||
/**
|
||||
* 客户生日
|
||||
*/
|
||||
private String birthday;
|
||||
|
||||
/**
|
||||
* 客户描述
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 商品信息
|
||||
*/
|
||||
private List<GoodsModel> goods;
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getPhonenumber()
|
||||
{
|
||||
return phonenumber;
|
||||
}
|
||||
|
||||
public void setPhonenumber(String phonenumber)
|
||||
{
|
||||
this.phonenumber = phonenumber;
|
||||
}
|
||||
|
||||
|
||||
public String getSex()
|
||||
{
|
||||
return sex;
|
||||
}
|
||||
|
||||
public void setSex(String sex)
|
||||
{
|
||||
this.sex = sex;
|
||||
}
|
||||
|
||||
public String getBirthday()
|
||||
{
|
||||
return birthday;
|
||||
}
|
||||
|
||||
public void setBirthday(String birthday)
|
||||
{
|
||||
this.birthday = birthday;
|
||||
}
|
||||
|
||||
public String getRemark()
|
||||
{
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark)
|
||||
{
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
public List<GoodsModel> getGoods()
|
||||
{
|
||||
return goods;
|
||||
}
|
||||
|
||||
public void setGoods(List<GoodsModel> goods)
|
||||
{
|
||||
this.goods = goods;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("name", getName())
|
||||
.append("phonenumber", getPhonenumber())
|
||||
.append("sex", getSex())
|
||||
.append("birthday", getBirthday())
|
||||
.append("goods", getGoods())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package co.yixiang.web.controller.demo.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 商品测试信息
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public class GoodsModel
|
||||
{
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 商品重量
|
||||
*/
|
||||
private Integer weight;
|
||||
|
||||
/**
|
||||
* 商品价格
|
||||
*/
|
||||
private Double price;
|
||||
|
||||
/**
|
||||
* 商品日期
|
||||
*/
|
||||
private Date date;
|
||||
|
||||
/**
|
||||
* 商品种类
|
||||
*/
|
||||
private String type;
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getWeight()
|
||||
{
|
||||
return weight;
|
||||
}
|
||||
|
||||
public void setWeight(Integer weight)
|
||||
{
|
||||
this.weight = weight;
|
||||
}
|
||||
|
||||
public Double getPrice()
|
||||
{
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(Double price)
|
||||
{
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public Date getDate()
|
||||
{
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(Date date)
|
||||
{
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public String getType()
|
||||
{
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type)
|
||||
{
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("name", getName())
|
||||
.append("weight", getWeight())
|
||||
.append("price", getPrice())
|
||||
.append("date", getDate())
|
||||
.append("type", getType())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
+7
-5
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.web.controller.demo.domain;
|
||||
package co.yixiang.web.controller.demo.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.annotation.Excel.Type;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import co.yixiang.common.annotation.Excel;
|
||||
import co.yixiang.common.annotation.Excel.Type;
|
||||
import co.yixiang.common.core.domain.BaseEntity;
|
||||
import co.yixiang.common.utils.DateUtils;
|
||||
|
||||
public class UserOperateModel extends BaseEntity
|
||||
{
|
||||
@@ -135,11 +135,13 @@ public class UserOperateModel extends BaseEntity
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getCreateTime()
|
||||
{
|
||||
return createTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCreateTime(Date createTime)
|
||||
{
|
||||
this.createTime = createTime;
|
||||
@@ -0,0 +1,82 @@
|
||||
package co.yixiang.web.controller.monitor;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.framework.web.service.CacheService;
|
||||
|
||||
/**
|
||||
* 缓存监控
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/monitor/cache")
|
||||
public class CacheController extends BaseController
|
||||
{
|
||||
private String prefix = "monitor/cache";
|
||||
|
||||
@Autowired
|
||||
private CacheService cacheService;
|
||||
|
||||
@GetMapping()
|
||||
public String cache(ModelMap mmap)
|
||||
{
|
||||
mmap.put("cacheNames", cacheService.getCacheNames());
|
||||
return prefix + "/cache";
|
||||
}
|
||||
|
||||
@PostMapping("/getNames")
|
||||
public String getCacheNames(String fragment, ModelMap mmap)
|
||||
{
|
||||
mmap.put("cacheNames", cacheService.getCacheNames());
|
||||
return prefix + "/cache::" + fragment;
|
||||
}
|
||||
|
||||
@PostMapping("/getKeys")
|
||||
public String getCacheKeys(String fragment, String cacheName, ModelMap mmap)
|
||||
{
|
||||
mmap.put("cacheName", cacheName);
|
||||
mmap.put("cacheKyes", cacheService.getCacheKeys(cacheName));
|
||||
return prefix + "/cache::" + fragment;
|
||||
}
|
||||
|
||||
@PostMapping("/getValue")
|
||||
public String getCacheValue(String fragment, String cacheName, String cacheKey, ModelMap mmap)
|
||||
{
|
||||
mmap.put("cacheName", cacheName);
|
||||
mmap.put("cacheKey", cacheKey);
|
||||
mmap.put("cacheValue", cacheService.getCacheValue(cacheName, cacheKey));
|
||||
return prefix + "/cache::" + fragment;
|
||||
}
|
||||
|
||||
@PostMapping("/clearCacheName")
|
||||
@ResponseBody
|
||||
public AjaxResult clearCacheName(String cacheName, ModelMap mmap)
|
||||
{
|
||||
cacheService.clearCacheName(cacheName);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@PostMapping("/clearCacheKey")
|
||||
@ResponseBody
|
||||
public AjaxResult clearCacheKey(String cacheName, String cacheKey, ModelMap mmap)
|
||||
{
|
||||
cacheService.clearCacheKey(cacheName, cacheKey);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@GetMapping("/clearAll")
|
||||
@ResponseBody
|
||||
public AjaxResult clearAll(ModelMap mmap)
|
||||
{
|
||||
cacheService.clearAll();
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.web.controller.monitor;
|
||||
package co.yixiang.web.controller.monitor;
|
||||
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
|
||||
/**
|
||||
* druid 监控
|
||||
@@ -21,6 +21,6 @@ public class DruidController extends BaseController
|
||||
@GetMapping()
|
||||
public String index()
|
||||
{
|
||||
return redirect(prefix + "/index");
|
||||
return redirect(prefix + "/index.html");
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
package com.ruoyi.web.controller.monitor;
|
||||
package co.yixiang.web.controller.monitor;
|
||||
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.framework.web.domain.Server;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.framework.web.domain.Server;
|
||||
|
||||
/**
|
||||
* 服务器监控
|
||||
+15
-15
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.web.controller.monitor;
|
||||
package co.yixiang.web.controller.monitor;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.framework.shiro.service.SysPasswordService;
|
||||
import co.yixiang.framework.shiro.service.SysPasswordService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -9,14 +9,14 @@ import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.system.domain.SysLogininfor;
|
||||
import com.ruoyi.system.service.ISysLogininforService;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.system.domain.SysLogininfor;
|
||||
import co.yixiang.system.service.ISysLogininforService;
|
||||
|
||||
/**
|
||||
* 系统访问记录
|
||||
@@ -52,7 +52,7 @@ public class SysLogininforController extends BaseController
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@Log(title = "登陆日志", businessType = BusinessType.EXPORT)
|
||||
@Log(title = "登录日志", businessType = BusinessType.EXPORT)
|
||||
@RequiresPermissions("monitor:logininfor:export")
|
||||
@PostMapping("/export")
|
||||
@ResponseBody
|
||||
@@ -60,11 +60,11 @@ public class SysLogininforController extends BaseController
|
||||
{
|
||||
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
|
||||
ExcelUtil<SysLogininfor> util = new ExcelUtil<SysLogininfor>(SysLogininfor.class);
|
||||
return util.exportExcel(list, "登陆日志");
|
||||
return util.exportExcel(list, "登录日志");
|
||||
}
|
||||
|
||||
@RequiresPermissions("monitor:logininfor:remove")
|
||||
@Log(title = "登陆日志", businessType = BusinessType.DELETE)
|
||||
@Log(title = "登录日志", businessType = BusinessType.DELETE)
|
||||
@PostMapping("/remove")
|
||||
@ResponseBody
|
||||
public AjaxResult remove(String ids)
|
||||
@@ -73,7 +73,7 @@ public class SysLogininforController extends BaseController
|
||||
}
|
||||
|
||||
@RequiresPermissions("monitor:logininfor:remove")
|
||||
@Log(title = "登陆日志", businessType = BusinessType.CLEAN)
|
||||
@Log(title = "登录日志", businessType = BusinessType.CLEAN)
|
||||
@PostMapping("/clean")
|
||||
@ResponseBody
|
||||
public AjaxResult clean()
|
||||
@@ -88,7 +88,7 @@ public class SysLogininforController extends BaseController
|
||||
@ResponseBody
|
||||
public AjaxResult unlock(String loginName)
|
||||
{
|
||||
passwordService.unlock(loginName);
|
||||
passwordService.clearLoginRecordCache(loginName);
|
||||
return success();
|
||||
}
|
||||
}
|
||||
+10
-9
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.monitor;
|
||||
package co.yixiang.web.controller.monitor;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@@ -10,14 +10,14 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.system.domain.SysOperLog;
|
||||
import com.ruoyi.system.service.ISysOperLogService;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.system.domain.SysOperLog;
|
||||
import co.yixiang.system.service.ISysOperLogService;
|
||||
|
||||
/**
|
||||
* 操作日志记录
|
||||
@@ -61,6 +61,7 @@ public class SysOperlogController extends BaseController
|
||||
return util.exportExcel(list, "操作日志");
|
||||
}
|
||||
|
||||
@Log(title = "操作日志", businessType = BusinessType.DELETE)
|
||||
@RequiresPermissions("monitor:operlog:remove")
|
||||
@PostMapping("/remove")
|
||||
@ResponseBody
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
package co.yixiang.web.controller.monitor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import co.yixiang.system.service.ISysUserOnlineService;
|
||||
import org.apache.shiro.authz.annotation.Logical;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.core.text.Convert;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.common.enums.OnlineStatus;
|
||||
import co.yixiang.common.utils.ShiroUtils;
|
||||
import co.yixiang.framework.shiro.session.OnlineSession;
|
||||
import co.yixiang.framework.shiro.session.OnlineSessionDAO;
|
||||
import co.yixiang.system.domain.SysUserOnline;
|
||||
import co.yixiang.system.service.ISysUserOnlineService;
|
||||
|
||||
/**
|
||||
* 在线用户监控
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/monitor/online")
|
||||
public class SysUserOnlineController extends BaseController
|
||||
{
|
||||
private String prefix = "monitor/online";
|
||||
|
||||
@Autowired
|
||||
private ISysUserOnlineService userOnlineService;
|
||||
|
||||
@Autowired
|
||||
private OnlineSessionDAO onlineSessionDAO;
|
||||
|
||||
@RequiresPermissions("monitor:online:view")
|
||||
@GetMapping()
|
||||
public String online()
|
||||
{
|
||||
return prefix + "/online";
|
||||
}
|
||||
|
||||
@RequiresPermissions("monitor:online:list")
|
||||
@PostMapping("/list")
|
||||
@ResponseBody
|
||||
public TableDataInfo list(SysUserOnline userOnline)
|
||||
{
|
||||
startPage();
|
||||
List<SysUserOnline> list = userOnlineService.selectUserOnlineList(userOnline);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@RequiresPermissions(value = { "monitor:online:batchForceLogout", "monitor:online:forceLogout" }, logical = Logical.OR)
|
||||
@Log(title = "在线用户", businessType = BusinessType.FORCE)
|
||||
@PostMapping("/batchForceLogout")
|
||||
@ResponseBody
|
||||
public AjaxResult batchForceLogout(String ids)
|
||||
{
|
||||
for (String sessionId : Convert.toStrArray(ids))
|
||||
{
|
||||
SysUserOnline online = userOnlineService.selectOnlineById(sessionId);
|
||||
if (online == null)
|
||||
{
|
||||
return error("用户已下线");
|
||||
}
|
||||
OnlineSession onlineSession = (OnlineSession) onlineSessionDAO.readSession(online.getSessionId());
|
||||
if (onlineSession == null)
|
||||
{
|
||||
return error("用户已下线");
|
||||
}
|
||||
if (sessionId.equals(ShiroUtils.getSessionId()))
|
||||
{
|
||||
return error("当前登录用户无法强退");
|
||||
}
|
||||
onlineSessionDAO.delete(onlineSession);
|
||||
online.setStatus(OnlineStatus.off_line);
|
||||
userOnlineService.saveOnline(online);
|
||||
userOnlineService.removeUserCache(online.getLoginName(), sessionId);
|
||||
}
|
||||
return success();
|
||||
}
|
||||
}
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@@ -10,14 +10,14 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.shop.domain.StoreCoupon;
|
||||
import com.ruoyi.shop.service.IStoreCouponService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.shop.domain.StoreCoupon;
|
||||
import co.yixiang.shop.service.IStoreCouponService;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 优惠券主Controller
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@@ -10,14 +10,14 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.shop.domain.StoreGoodsAttribute;
|
||||
import com.ruoyi.shop.service.IStoreGoodsAttributeService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.shop.domain.StoreGoodsAttribute;
|
||||
import co.yixiang.shop.service.IStoreGoodsAttributeService;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 商品的属性(独立)Controller
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@@ -10,14 +10,14 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.shop.domain.StoreGoodsBrand;
|
||||
import com.ruoyi.shop.service.IStoreGoodsBrandService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.shop.domain.StoreGoodsBrand;
|
||||
import co.yixiang.shop.service.IStoreGoodsBrandService;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 产品品牌Controller
|
||||
+10
-10
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@@ -10,15 +10,15 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.shop.domain.StoreGoodsCate;
|
||||
import com.ruoyi.shop.service.IStoreGoodsCateService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.domain.Ztree;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.shop.domain.StoreGoodsCate;
|
||||
import co.yixiang.shop.service.IStoreGoodsCateService;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
import co.yixiang.common.core.domain.Ztree;
|
||||
|
||||
/**
|
||||
* 商城商品分类Controller
|
||||
+13
-14
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.*;
|
||||
@@ -6,26 +6,25 @@ import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import co.yixiang.shop.domain.*;
|
||||
import co.yixiang.shop.service.*;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.shop.domain.*;
|
||||
import com.ruoyi.shop.service.*;
|
||||
import com.ruoyi.shop.vo.SpecAttrVO;
|
||||
import com.ruoyi.shop.vo.SpecVO;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
import co.yixiang.shop.domain.*;
|
||||
import co.yixiang.shop.service.*;
|
||||
import co.yixiang.shop.vo.SpecVO;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.aspectj.weaver.AjAttribute;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@@ -10,14 +10,14 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.shop.domain.StoreGoodsType;
|
||||
import com.ruoyi.shop.service.IStoreGoodsTypeService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.shop.domain.StoreGoodsType;
|
||||
import co.yixiang.shop.service.IStoreGoodsTypeService;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 商品类型(商品模型)Controller
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@@ -10,14 +10,14 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.shop.domain.StoreMember;
|
||||
import com.ruoyi.shop.service.IStoreMemberService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.shop.domain.StoreMember;
|
||||
import co.yixiang.shop.service.IStoreMemberService;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 商城会员信息Controller
|
||||
+9
-11
@@ -1,9 +1,7 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.common.enums.OrderStatus;
|
||||
import com.ruoyi.common.enums.UserStatus;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -14,14 +12,14 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.shop.domain.StoreOrder;
|
||||
import com.ruoyi.shop.service.IStoreOrderService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.shop.domain.StoreOrder;
|
||||
import co.yixiang.shop.service.IStoreOrderService;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 订单主Controller
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.shop;
|
||||
package co.yixiang.web.controller.shop;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@@ -10,14 +10,14 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.shop.domain.StoreSpec;
|
||||
import com.ruoyi.shop.service.IStoreSpecService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.shop.domain.StoreSpec;
|
||||
import co.yixiang.shop.service.IStoreSpecService;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 商品规格(独立)Controller
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
package co.yixiang.web.controller.system;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import com.google.code.kaptcha.Constants;
|
||||
import com.google.code.kaptcha.Producer;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
|
||||
/**
|
||||
* 图片验证码(支持算术形式)
|
||||
+27
-12
@@ -1,6 +1,8 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
package co.yixiang.web.controller.system;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import co.yixiang.system.service.ISysConfigService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -11,16 +13,15 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.framework.util.ShiroUtils;
|
||||
import com.ruoyi.system.domain.SysConfig;
|
||||
import com.ruoyi.system.service.ISysConfigService;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.constant.UserConstants;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.common.utils.ShiroUtils;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.system.domain.SysConfig;
|
||||
|
||||
/**
|
||||
* 参数配置 信息操作处理
|
||||
@@ -129,7 +130,21 @@ public class SysConfigController extends BaseController
|
||||
@ResponseBody
|
||||
public AjaxResult remove(String ids)
|
||||
{
|
||||
return toAjax(configService.deleteConfigByIds(ids));
|
||||
configService.deleteConfigByIds(ids);
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新参数缓存
|
||||
*/
|
||||
@RequiresPermissions("system:config:remove")
|
||||
@Log(title = "参数管理", businessType = BusinessType.CLEAN)
|
||||
@GetMapping("/refreshCache")
|
||||
@ResponseBody
|
||||
public AjaxResult refreshCache()
|
||||
{
|
||||
configService.resetConfigCache();
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
+43
-14
@@ -1,6 +1,8 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
package co.yixiang.web.controller.system;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import co.yixiang.system.service.ISysDeptService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -11,17 +13,17 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.Ztree;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.framework.util.ShiroUtils;
|
||||
import com.ruoyi.system.domain.SysDept;
|
||||
import com.ruoyi.system.domain.SysRole;
|
||||
import com.ruoyi.system.service.ISysDeptService;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.constant.UserConstants;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.domain.Ztree;
|
||||
import co.yixiang.common.core.domain.entity.SysDept;
|
||||
import co.yixiang.common.core.domain.entity.SysRole;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.common.utils.ShiroUtils;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
import co.yixiang.system.service.ISysDeptService;
|
||||
|
||||
/**
|
||||
* 部门信息
|
||||
@@ -59,6 +61,10 @@ public class SysDeptController extends BaseController
|
||||
@GetMapping("/add/{parentId}")
|
||||
public String add(@PathVariable("parentId") Long parentId, ModelMap mmap)
|
||||
{
|
||||
if (!ShiroUtils.getSysUser().isAdmin())
|
||||
{
|
||||
parentId = ShiroUtils.getSysUser().getDeptId();
|
||||
}
|
||||
mmap.put("dept", deptService.selectDeptById(parentId));
|
||||
return prefix + "/add";
|
||||
}
|
||||
@@ -112,6 +118,11 @@ public class SysDeptController extends BaseController
|
||||
{
|
||||
return error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
|
||||
}
|
||||
else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
|
||||
&& deptService.selectNormalChildrenDeptById(dept.getDeptId()) > 0)
|
||||
{
|
||||
return AjaxResult.error("该部门包含未停用的子部门!");
|
||||
}
|
||||
dept.setUpdateBy(ShiroUtils.getLoginName());
|
||||
return toAjax(deptService.updateDept(dept));
|
||||
}
|
||||
@@ -148,11 +159,16 @@ public class SysDeptController extends BaseController
|
||||
|
||||
/**
|
||||
* 选择部门树
|
||||
*
|
||||
* @param deptId 部门ID
|
||||
* @param excludeId 排除ID
|
||||
*/
|
||||
@GetMapping("/selectDeptTree/{deptId}")
|
||||
public String selectDeptTree(@PathVariable("deptId") Long deptId, ModelMap mmap)
|
||||
@GetMapping(value = { "/selectDeptTree/{deptId}", "/selectDeptTree/{deptId}/{excludeId}" })
|
||||
public String selectDeptTree(@PathVariable("deptId") Long deptId,
|
||||
@PathVariable(value = "excludeId", required = false) String excludeId, ModelMap mmap)
|
||||
{
|
||||
mmap.put("dept", deptService.selectDeptById(deptId));
|
||||
mmap.put("excludeId", excludeId);
|
||||
return prefix + "/tree";
|
||||
}
|
||||
|
||||
@@ -167,6 +183,19 @@ public class SysDeptController extends BaseController
|
||||
return ztrees;
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载部门列表树(排除下级)
|
||||
*/
|
||||
@GetMapping("/treeData/{excludeId}")
|
||||
@ResponseBody
|
||||
public List<Ztree> treeDataExcludeChild(@PathVariable(value = "excludeId", required = false) Long excludeId)
|
||||
{
|
||||
SysDept dept = new SysDept();
|
||||
dept.setDeptId(excludeId);
|
||||
List<Ztree> ztrees = deptService.selectDeptTreeExcludeChild(dept);
|
||||
return ztrees;
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载角色部门(数据权限)列表树
|
||||
*/
|
||||
+14
-11
@@ -1,6 +1,8 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
package co.yixiang.web.controller.system;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import co.yixiang.system.service.ISysDictDataService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -11,15 +13,15 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.framework.util.ShiroUtils;
|
||||
import com.ruoyi.system.domain.SysDictData;
|
||||
import com.ruoyi.system.service.ISysDictDataService;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.domain.entity.SysDictData;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.common.utils.ShiroUtils;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
import co.yixiang.system.service.ISysDictDataService;
|
||||
|
||||
/**
|
||||
* 数据字典信息
|
||||
@@ -115,6 +117,7 @@ public class SysDictDataController extends BaseController
|
||||
@ResponseBody
|
||||
public AjaxResult remove(String ids)
|
||||
{
|
||||
return toAjax(dictDataService.deleteDictDataByIds(ids));
|
||||
dictDataService.deleteDictDataByIds(ids);
|
||||
return success();
|
||||
}
|
||||
}
|
||||
+26
-18
@@ -1,6 +1,8 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
package co.yixiang.web.controller.system;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import co.yixiang.system.service.ISysDictTypeService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -11,17 +13,16 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.Ztree;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.framework.util.ShiroUtils;
|
||||
import com.ruoyi.system.domain.SysDictType;
|
||||
import com.ruoyi.system.service.ISysDictTypeService;
|
||||
import co.yixiang.common.annotation.Log;
|
||||
import co.yixiang.common.constant.UserConstants;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.domain.Ztree;
|
||||
import co.yixiang.common.core.domain.entity.SysDictType;
|
||||
import co.yixiang.common.core.page.TableDataInfo;
|
||||
import co.yixiang.common.enums.BusinessType;
|
||||
import co.yixiang.common.utils.ShiroUtils;
|
||||
import co.yixiang.common.utils.poi.ExcelUtil;
|
||||
|
||||
/**
|
||||
* 数据字典信息
|
||||
@@ -125,14 +126,21 @@ public class SysDictTypeController extends BaseController
|
||||
@ResponseBody
|
||||
public AjaxResult remove(String ids)
|
||||
{
|
||||
try
|
||||
{
|
||||
return toAjax(dictTypeService.deleteDictTypeByIds(ids));
|
||||
dictTypeService.deleteDictTypeByIds(ids);
|
||||
return success();
|
||||
}
|
||||
catch (Exception e)
|
||||
|
||||
/**
|
||||
* 刷新字典缓存
|
||||
*/
|
||||
@RequiresPermissions("system:dict:remove")
|
||||
@Log(title = "字典类型", businessType = BusinessType.CLEAN)
|
||||
@GetMapping("/refreshCache")
|
||||
@ResponseBody
|
||||
public AjaxResult refreshCache()
|
||||
{
|
||||
return error(e.getMessage());
|
||||
}
|
||||
dictTypeService.resetDictCache();
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
package co.yixiang.web.controller.system;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import co.yixiang.system.service.ISysConfigService;
|
||||
import co.yixiang.system.service.ISysMenuService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import co.yixiang.common.config.RuoYiConfig;
|
||||
import co.yixiang.common.constant.ShiroConstants;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.core.domain.entity.SysMenu;
|
||||
import co.yixiang.common.core.domain.entity.SysUser;
|
||||
import co.yixiang.common.core.text.Convert;
|
||||
import co.yixiang.common.utils.CookieUtils;
|
||||
import co.yixiang.common.utils.DateUtils;
|
||||
import co.yixiang.common.utils.ServletUtils;
|
||||
import co.yixiang.common.utils.ShiroUtils;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
import co.yixiang.framework.shiro.service.SysPasswordService;
|
||||
|
||||
/**
|
||||
* 首页 业务处理
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Controller
|
||||
public class SysIndexController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private ISysMenuService menuService;
|
||||
|
||||
@Autowired
|
||||
private ISysConfigService configService;
|
||||
|
||||
@Autowired
|
||||
private SysPasswordService passwordService;
|
||||
|
||||
// 系统首页
|
||||
@GetMapping("/index")
|
||||
public String index(ModelMap mmap)
|
||||
{
|
||||
// 取身份信息
|
||||
SysUser user = ShiroUtils.getSysUser();
|
||||
// 根据用户id取出菜单
|
||||
List<SysMenu> menus = menuService.selectMenusByUser(user);
|
||||
mmap.put("menus", menus);
|
||||
mmap.put("user", user);
|
||||
mmap.put("sideTheme", configService.selectConfigByKey("sys.index.sideTheme"));
|
||||
mmap.put("skinName", configService.selectConfigByKey("sys.index.skinName"));
|
||||
mmap.put("ignoreFooter", configService.selectConfigByKey("sys.index.ignoreFooter"));
|
||||
mmap.put("copyrightYear", RuoYiConfig.getCopyrightYear());
|
||||
mmap.put("demoEnabled", RuoYiConfig.isDemoEnabled());
|
||||
mmap.put("isDefaultModifyPwd", initPasswordIsModify(user.getPwdUpdateDate()));
|
||||
mmap.put("isPasswordExpired", passwordIsExpiration(user.getPwdUpdateDate()));
|
||||
|
||||
// 菜单导航显示风格
|
||||
String menuStyle = configService.selectConfigByKey("sys.index.menuStyle");
|
||||
// 移动端,默认使左侧导航菜单,否则取默认配置
|
||||
String indexStyle = ServletUtils.checkAgentIsMobile(ServletUtils.getRequest().getHeader("User-Agent")) ? "index" : menuStyle;
|
||||
|
||||
// 优先Cookie配置导航菜单
|
||||
Cookie[] cookies = ServletUtils.getRequest().getCookies();
|
||||
for (Cookie cookie : cookies)
|
||||
{
|
||||
if (StringUtils.isNotEmpty(cookie.getName()) && "nav-style".equalsIgnoreCase(cookie.getName()))
|
||||
{
|
||||
indexStyle = cookie.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
String webIndex = "topnav".equalsIgnoreCase(indexStyle) ? "index-topnav" : "index";
|
||||
return webIndex;
|
||||
}
|
||||
|
||||
// 锁定屏幕
|
||||
@GetMapping("/lockscreen")
|
||||
public String lockscreen(ModelMap mmap)
|
||||
{
|
||||
mmap.put("user", ShiroUtils.getSysUser());
|
||||
ServletUtils.getSession().setAttribute(ShiroConstants.LOCK_SCREEN, true);
|
||||
return "lock";
|
||||
}
|
||||
|
||||
// 解锁屏幕
|
||||
@PostMapping("/unlockscreen")
|
||||
@ResponseBody
|
||||
public AjaxResult unlockscreen(String password)
|
||||
{
|
||||
SysUser user = ShiroUtils.getSysUser();
|
||||
if (StringUtils.isNull(user))
|
||||
{
|
||||
return AjaxResult.error("服务器超时,请重新登陆");
|
||||
}
|
||||
if (passwordService.matches(user, password))
|
||||
{
|
||||
ServletUtils.getSession().removeAttribute(ShiroConstants.LOCK_SCREEN);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
return AjaxResult.error("密码不正确,请重新输入。");
|
||||
}
|
||||
|
||||
// 切换主题
|
||||
@GetMapping("/system/switchSkin")
|
||||
public String switchSkin()
|
||||
{
|
||||
return "skin";
|
||||
}
|
||||
|
||||
// 切换菜单
|
||||
@GetMapping("/system/menuStyle/{style}")
|
||||
public void menuStyle(@PathVariable String style, HttpServletResponse response)
|
||||
{
|
||||
CookieUtils.setCookie(response, "nav-style", style);
|
||||
}
|
||||
|
||||
// 系统介绍
|
||||
@GetMapping("/system/main")
|
||||
public String main(ModelMap mmap)
|
||||
{
|
||||
mmap.put("version", RuoYiConfig.getVersion());
|
||||
return "main2";
|
||||
}
|
||||
|
||||
// 检查初始密码是否提醒修改
|
||||
public boolean initPasswordIsModify(Date pwdUpdateDate)
|
||||
{
|
||||
Integer initPasswordModify = Convert.toInt(configService.selectConfigByKey("sys.account.initPasswordModify"));
|
||||
return initPasswordModify != null && initPasswordModify == 1 && pwdUpdateDate == null;
|
||||
}
|
||||
|
||||
// 检查密码是否过期
|
||||
public boolean passwordIsExpiration(Date pwdUpdateDate)
|
||||
{
|
||||
Integer passwordValidateDays = Convert.toInt(configService.selectConfigByKey("sys.account.passwordValidateDays"));
|
||||
if (passwordValidateDays != null && passwordValidateDays > 0)
|
||||
{
|
||||
if (StringUtils.isNull(pwdUpdateDate))
|
||||
{
|
||||
// 如果从未修改过初始密码,直接提醒过期
|
||||
return true;
|
||||
}
|
||||
Date nowDate = DateUtils.getNowDate();
|
||||
return DateUtils.differentDaysByMillisecond(nowDate, pwdUpdateDate) > passwordValidateDays;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
package co.yixiang.web.controller.system;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -10,10 +10,10 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.ServletUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import co.yixiang.common.core.controller.BaseController;
|
||||
import co.yixiang.common.core.domain.AjaxResult;
|
||||
import co.yixiang.common.utils.ServletUtils;
|
||||
import co.yixiang.common.utils.StringUtils;
|
||||
|
||||
/**
|
||||
* 登录验证
|
||||
Loaded 100 of 1011 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user